Как я могу защитить методы контроллера Spring для пользовательских ролей? - PullRequest
2 голосов
/ 28 июля 2011

У меня есть USER, ROLE и USER_ROLE таблицы и несколько контроллеров Spring ... есть ли аннотация Spring, которую я могу добавить к методам контроллера, которые будут указывать роли, которые пользователь должен выполнятьбыть в состоянии получить к нему доступ?

Полагаю, это будет весенняя охрана?Это просто для подключения к существующей схеме пользователя / роли?

Я использую Spring 2.5.4.

Ответы [ 2 ]

4 голосов
/ 28 июля 2011

Spring Security будет вашим самым простым способом сделать это.В частности, вы просите выражения безопасности метода .Это можно сделать с помощью следующего:

@PreAuthorize("hasRole('ROLE_ADMIN')")
public void deleteUser(User user) {
  ...
}

Настроить Spring Security с помощью бэкэнда базы данных довольно просто.Я бы взглянул на DAOAuthenticationProvider в качестве отправной точки.

0 голосов
/ 28 июля 2011

Spring Security аннотации, следующим образом:

@Secured({"ROLE_1", "ROLE_2"})
public String mySecuredHander() {
   return "foo";
}
...