se c: authorize = "hasRole ('ROLE_ADMIN')" в angular - PullRequest
1 голос
/ 28 февраля 2020

Я реализую Безопасность на основе ролевой пружины

В этом примере они использовали тимелеф для внешнего интерфейса, но я использую angular9 с html.

они используют sec:authorize="hasRole('ROLE_ADMIN')" для предоставления доступа администратору, таким же образом, если я хочу предоставить то же самое в html, для этого я использовал следующий код,

    <li *ngFor="let user of users">
        {{user.username}} ({{user.firstName}} {{user.lastName}})
        - <a sec:authorize="hasRole('ROLE_ADMIN')" (click)="deleteUser(user.userid)" class="text-danger">Delete</a>
    </li>

Человек вошел в систему Это Role_user, даже если ссылка на удаление видна пользователю. Как я могу ограничить.

Заранее спасибо.

1 Ответ

1 голос
/ 28 февраля 2020

используйте * ngIf директиву до показать и скрыть тег привязки

<li *ngFor="let user of users">
        {{user.username}} ({{user.firstName}} {{user.lastName}})
        - <a *ngIf="hasRole('ROLE_ADMIN')" (click)="deleteUser(user.userid)" class="text-danger">Delete</a>
    </li>

, но hasRole () должен вернуть логическое . потому что * ngIf принимает логическое значение

...