Angular Project управляет разрешением доступа с помощью keycloak - PullRequest
0 голосов
/ 27 июня 2019

Я использую keycloak для углового проекта, я создал две роли области (администратор и участник), клиент и два пользователя (Ирма и Шелдон).

Я новичок,

Я хотел разрешить доступ к клиенту для одного пользователя (Ирма) и запретить для другого пользователя (Шелдон).

1 Ответ

0 голосов
/ 28 июня 2019

Могу я предложить для угловой стороны использовать библиотеку для авторизации, что-то вроде: https://github.com/mauriciovigolo/keycloak-angular. После того, как вы настроили эту настройку и настроили свой authGuard, это всего лишь случай защиты вашего URLчерез param ролей в вашем объекте маршрутизатора.

Например (взято из https://angular.io/guide/router#milestone-5-route-guards, и добавлено в бит ролей Keycloak):

import { AuthGuard }                from '../auth/auth.guard';

const adminRoutes: Routes = [
  {
    path: 'admin',
    component: AdminComponent,
    data: {
       roles: ['admin'],
    },
    canActivate: [AuthGuard],
    children: [
      {
        path: '',
        children: [
          { path: 'crises', component: ManageCrisesComponent },
          { path: 'heroes', component: ManageHeroesComponent },
          { path: '', component: AdminDashboardComponent }
        ],
      }
    ]
  }
];

@NgModule({
  imports: [
    RouterModule.forChild(adminRoutes)
  ],
  exports: [
    RouterModule
  ]
})
export class AdminRoutingModule {}

Последний фрагмент головоломки будет на стороне сервера Keycloak, у вас естьперейти к вашему пользователю Ирме и назначить ей роль администратора.Это позволит ей получить доступ к тем путям, которые вы защищаете с помощью роли администратора через маршрутизатор, указанный выше.

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...