Это своего рода ответ на вопрос с другого конца, но я подумал, что добавлю его, так как мне действительно пришлось копаться в Интернете, чтобы узнать это.
Существует много информации о том, как проверять роли, но мало что говорится о том, что вы на самом деле проверяете, когда говорите hasRole("blah")
HasRole проверяет предоставленные полномочия для текущего аутентифицированного принципала
Так что на самом деле, когда вы видите, что hasRole("blah") на самом деле означает hasAuthority("blah").
В случае, который я видел, вы делаете это с классом, который реализует UserDetails, который определяет метод с именем getAuthorities. В этом вы в основном добавите new SimpleGrantedAuthority("some name") в список на основе некоторой логики. Имена в этом списке — это то, что проверяется операторами hasRole.
Я предполагаю, что в этом контексте объект UserDetails является в настоящее время аутентифицированным принципалом. Есть некоторая магия, которая происходит внутри и вокруг поставщиков аутентификации и, в частности, диспетчера аутентификации, который делает это возможным.
person
JonnyRaa
schedule
03.06.2014