Spring Security - перебор безопасности роли и ACL? - PullRequest
3 голосов
/ 01 июня 2010

У меня есть 3-уровневое приложение, которое требует, чтобы авторизация безопасности была размещена на различных объектах домена.

Независимо от того, использую ли я реализацию Spring ACL или использую собственную, мне кажется, что безопасность на основе ACL может использоваться только для авторизации (обслуживания) методов и не может использоваться для авторизации вызовов URL или веб-служб. Я думаю, это потому, что как вызов веб-службы может проверить ACL, прежде чем он увлажнит полезную нагрузку XML? Кроме того, все примеры безопасности веб-доступа в документации Spring защищают URL-адреса на основе роли.

Является ли типичным использование ролей Spring для защиты веб-презентации и вызовов веб-служб, в то же время используя ACL для защиты бизнес-методов? Это перебор?

1 Ответ

3 голосов
/ 01 июня 2010

Типично ли использование ролей Spring для безопасная веб-презентация и веб сервисные звонки, в то же время использование ACL для защиты бизнеса методы?

Да.

Это просто сделать в вашем контроллере, комбинируя сопоставление запросов и защищенные аннотации:

@RequestMapping("/some/url")
@Secured( {"ROLE_GET_THE_DATA"} )
public ModelAndView getTheData(HttpServletRequest request,
                             HttpServletResponse response) throws Exception {    
    // get the data
    // return it in your mav
}

Добавление защищенных аннотаций к вашим объектам доступа к данным (DAO) завершит проект защиты.

Это перебор?

Это зависит от вашего приложения. Минимально вы должны защитить свой контроллер. Отсутствие защиты ваших DAO может привести к появлению дыр в безопасности в будущем.

Мы работаем над добавлением этого типа безопасности в наши приложения.

...