title: How would you manage user roles and permissions using Angular 2
body: <p>I'm working on a new Angular2 app, and I was wondering how would you manage routes accessible to certain roles and permissions to create, edit, and delete items for certain roles.</p>
  
  <p>I want to know how do you solve the problem such this:</p>
  
  <ul>
  <li><p>How do you manage access to some UI elements? How does the app know to show or hide it? Do you use single service for this? Or do you create different conditions for the different place in your app?</p></li>
  <li><p>How do you manage your routing? Do you use CanActivate, CanActivateChild, CanLoad and etc? Do you build a single guard service for all routes or make different services for different modules or component?</p></li>
  <li><p>And last question. What is the best way to divide the app then you can sell it like a CMS? I mean how can we realize possibility to load some other modules from the market for example, and add it in your app? </p></li>
  </ul>
  
  <p>How do you solve the similar problem? </p>
  
  <p>Any guidance, experience, or pointers to material covering these topics is greatly appreciated. Thanks in advance.</p>