[英]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.