аннотация гобеленов Apache Shiro Needroles - PullRequest
2 голосов
/ 20 декабря 2011

Я пытался сделать так, чтобы врач и сотрудник не могли получить доступ к странице.

@RequiresRoles(value = {"doctor", "employee"})

Но теперь доктор и сотрудник не могут получить доступ к странице.Однако @RequiresRoles("doctor") работает нормально.Доктор может получить доступ только к странице

Что пошло не так?

Я использую tapestry5, безопасность гобелена (apache shiro).

1 Ответ

6 голосов
/ 20 декабря 2011

Я не уверен, что могу понять ваш вопрос, так как он несколько противоречив. Я предполагаю, что вы хотите, чтобы пользователи, которые являются врачами или сотрудниками, имели доступ к странице?

Из документации @RequiresRoles:

Требуется, чтобы у текущего исполняющего субъекта было все из указанного роли.

(Выделение мое.) Чтобы пользователь, который является сотрудником или врачом, имел доступ к странице, вы можете изменить аннотацию следующим образом:

@RequiresRoles(value = {"doctor", "employee"}, logical = Logical.OR)
...