[英]Default roles in Spring Security 3.1
Spring 3.1安全性contact
示例在其applicationContext-security.xml
使用了幾個角色:
<intercept-url pattern="/" access="IS_AUTHENTICATED_ANONYMOUSLY"/>
<intercept-url pattern="/index.jsp" access="IS_AUTHENTICATED_ANONYMOUSLY"/>
<intercept-url pattern="/hello.htm" access="IS_AUTHENTICATED_ANONYMOUSLY"/>
<intercept-url pattern="/login.jsp*" access="IS_AUTHENTICATED_ANONYMOUSLY"/>
<intercept-url pattern="/switchuser.jsp" access="ROLE_SUPERVISOR"/>
<intercept-url pattern="/j_spring_security_switch_user" access="ROLE_SUPERVISOR"/>
<intercept-url pattern="/**" access="ROLE_USER"/>
這些IS_AUTHENTICATED_ANONYMOUSLY,ROLE_SUPERVISOR,ROLE_USER角色定義在哪里? 這些默認角色是由Spring Security創建的嗎?
IS_AUTHENTICATED_ANONYMOUSLY在AuthenticatedVoter類中定義。
各種ROLE_xxxx沒有特殊含義。
默認情況下,Spring Security會建議這些角色,因為它們在大多數應用程序中使用。
但是,您可以自由定義和使用自定義角色(即ROLE_SUPERMAN)。
您只需確保UserDetail
返回的UserDetailService
將此ROLE
指定為GrantedAuthority
(從DB或手動)。
實際上ROLE是前綴。 如果要將其更改為APP (即APP_ADMIN),則必須定義自定義AppVoter
:
<bean class="org.springframework.security.vote.RoleVoter">
<property name="rolePrefix" value="APP"/>
</bean>
角色ROLE_SUPERVISOR, ROLE_USER
由我們根據我們的應用程序定義。
如何創建自定義角色: 如何在Spring Security中使用自定義角色/權限?
請參閱教程以使用org.springframework.security.core.userdetails.UserDetailsService
創建自定義角色
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.