Допускается ли использование нескольких ролей в аннотации @Secured в Spring Security - PullRequest
21 голосов
/ 27 октября 2011

Я хотел бы разрешить доступ к определенному методу более чем одной группе пользователей. Возможно ли в Spring Security 3.x сделать это с помощью аннотации @Secured? Рассмотрим две группы (роли) OPERATOR и USER, будет ли этот код действительным: @Secured("ROLE_OPERATOR", "ROLE_USER") public void doWork() { // do useful processing }

Ответы [ 2 ]

37 голосов
/ 27 октября 2011

Ты почти у цели.Синтаксически вам нужно написать это так:

@Secured({"ROLE_OPERATOR", "ROLE_USER"})
public void doWork() { ... }

Это потому, что вы предоставляете несколько значений одному атрибуту массива аннотации.(Синтаксически особые случаи Java обрабатывают одно значение, но теперь вам нужно сделать это «правильно».)

16 голосов
/ 25 июля 2013

@ Donal Fellows ответ правильный для приложений Spring.Однако, если вы работаете в Grails, вам нужно использовать синтаксис Groovy для списков, чтобы код выглядел так

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