Где я могу найти больше информации о аннотациях Spring-Security - PullRequest
2 голосов
/ 05 января 2010

В настоящее время я работаю над защитой веб-приложения с использованием Spring-Security 3.0. Я выяснил большинство своих проблем, но я пытаюсь лучше понять, что именно я делаю (копировать и вставлять FTL).

Я смотрел это видео , в котором он заявил, что @Secured больше не следует использовать, за исключением определенных ситуаций. Он также показывает список аннотаций и методов, которые можно использовать (около 44:50), но не объясняет их. Он просто показывает их использование. Поэтому я просмотрел документацию и нашел это . Поэтому я добавляю необходимый код в свой XML-файл и пытаюсь @PreAuthorize("hasAuthority('ROLE_ADMIN')"), и он не работает. Затем я понимаю, что hasAuthority - это не метод (спасибо за документацию, что запутали меня). Я изменяю это на @PreAuthorize("hasRole('ROLE_ADMIN')") и VOILA, это работает.

Теперь мне интересно (кроме того, почему документация неправильна), где я могу найти больше информации о типах и методах до постаннотации, которые были так хорошо перечислены в презентации? Я пробовал Google, но, возможно, я ищу неправильные термины. Кроме того, аннотации JSR250 были упомянуты как подходящие для использования, но я также не нашел информации об этом. Мой гугл сломан или я просто смотрю не в том месте?

Ответы [ 5 ]

2 голосов
/ 09 апреля 2012

Как утверждает Вилли в своем комментарии, hasAuthority фактически был добавлен в качестве допустимого синтаксиса для всех, кто хочет его использовать.
Цитата Люка Тейлора из билета:

Я добавил поддержку выражений hasAuthority () и hasAnyAuthority () в SecurityExpressionRoot.

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

2 голосов
/ 05 января 2010

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

1 голос
/ 20 августа 2013

Кроме того, убедитесь, что у вас включены предварительные и последующие аннотации в контексте безопасности

<global-method-security pre-post-annotations="enabled"/>
0 голосов
/ 01 февраля 2012

Я написал DZone Refcard, объясняющий, как использовать EL в Spring Security:

http://refcardz.dzone.com/refcardz/expression-based-authorization?oid=hom25493

0 голосов
/ 24 июня 2011

hasAuthority будет работать, если вы положите <security:http use-expressions="true" … в контексте вашего приложения.

...