2014-11-08 2 views
0

Я использую picketlink для приложения, и я был бы очень признателен, если бы кто-нибудь мог мне помочь.Picketlink @RolesAllowed для ролей, назначенных группам

Приложения имеет множество групп (Admin, обслуживание клиентов и т.д.), и каждая группа может иметь множество ролей (например, создание нового пользователя, создать новый сотрудник, запустить процесс начисления заработной платы и т.д.)

Пользователь может быть назначен к одной или нескольким группам и группе к одной или нескольким ролям. Обычно я думал, что пользователь, назначенный группе, наследует все роли группы. Если я использую BasicModel.hasRole для пользователя, назначенного группе, он возвращает true для всех ролей, назначенных этой группе, что и ожидалось. Однако при использовании @RolesAllowed аннотации в моих конечных точках отдыха он всегда будет возвращать исключение, исключенное для того же пользователя. Если есть какое-нибудь обходное решение, которое может предложить любой человек? Я хочу, чтобы @RolesAllowed разрешала пользователям проходить через группу, имеющую разрешенные роли.

Или есть ли какая-либо другая аннотация, которую я могу использовать?

ответ

0

Попробуйте один из них под пакет org.picketlink.authorization.annotations:

@GroupsAllowed 

Определяет ограничение авторизации, где только члены группы разрешено вызывать метод.

@LoggedIn 

Определяет ограничение авторизации, в котором разрешены вызовы только аутентифицированным пользователям.

@PartitionsAllowed 

Определяет ограничение авторизации, которое проверяет, хранится ли аутентифицированная учетная запись в разделе.

@RequiresLevel 

Определяет проверку авторизации, где только пользователи с таким же или более высоком уровне, то указанный разрешено вызвать метод

@RequiresPermission  

Определяет ограничение авторизации, который проверяет, имеет ли опознанный учетная запись имеет специальное разрешение.

@Restrict 

Определяет ограничение авторизации для типа или метода с использованием унифицированного языка выражений.

@RolesAllowed 

Определяет ограничение авторизации, которое проверяет, предоставлена ​​ли аутентифицированная учетная запись одной или несколькими ролями.

отсюда: http://docs.jboss.org/picketlink/2/latest/api/org/picketlink/authorization/annotations/package-summary.html

Смежные вопросы