Checks the user roles of a user.
The Auth Guard SSO role service implements an Angular
route guard
to check the user has the right realms/client roles permission. This is typically used with the
canActivate
guard check in the route definition. The Auth Guard SSO is resposible to check if the JWT contains Realm roles (realm_access) or Client roles (resource_access) based on the route configuration.
Realms role Example
const appRoutes: Routes = [ ... { path: 'examplepath', component: ExampleComponent, canActivate: [ AuthGuardSsoRoleService ], data: { roles: ['USER_ROLE1', 'USER_ROLE2'], excludedRoles: ['USER_ROLE3']} }, ... ]
If the user now clicks on a link or button that follows this route, they will be not able to access this content if they do not have the Realms roles. Additionally, the user will not be able to access the resource when they have a role that is part of the excludedRoles array.
Client role Example
const appRoutes: Routes = [ ... { path: ':examplepath', component: ExampleComponent, canActivate: [ AuthGuardSsoRoleService ], data: { clientRoles: ['examplepath'], roles: ['ACTIVITI_USER']}, }, ... ]
If the user now clicks on a link or button that follows this route, they will be not able to access this content if they do not have the Client roles.
If the you want to redirect the user to a page after a forbidden access, you can use the redirectUrl as in the example below:
const appRoutes: Routes = [ ... { path: 'examplepath', component: ExampleComponent, canActivate: [ AuthGuardSsoRoleService ], data: { roles: ['ACTIVITI_USER'], redirectUrl: '/error/403'} }, ... ]
Note: you can use this Guard in and with the other ADF auth guards.
© 2023 Alfresco Software, Inc. All Rights Reserved.
By using this site, you are agreeing to allow us to collect and use cookies as outlined in Alfresco’s Cookie Statement and Terms of Use (and you have a legitimate interest in Alfresco and our products, authorizing us to contact you in such methods). If you are not ok with these terms, please do not use this website.