Spring Security - является ли чрезмерной безопасностью ролей и ACL?

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

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

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


person HDave    schedule 01.06.2010    source источник


Ответы (1)


Типично ли использовать роли 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 может привести к появлению дыр в безопасности в будущем.

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

person rzzmttzz    schedule 01.06.2010