Spring-Security笔记5 去除spring-security默认的权限前缀ROLE

spring-security默认的权限前缀ROLE_,使用的时候较为不便


使用自定义的accessDecisionManager注入roleVoter,修改roleVoter中的rolePrefix属性为“”可以解决此问题





    
	
        	
		
	
    




	



对以上3块分别简单解释:

1、accessDecisionManager是决策管理器,这里直接使用了spring-security提供的AffirmativeBased决策管理器

Spring提供了3个决策管理器:

AffirmativeBased 一票通过,只要有一个投票器通过就允许访问

ConsensusBased 有一半以上投票器通过才允许访问资源

UnanimousBased 所有投票器都通过才允许访问


2、在Spring中引入了投票器(AccessDecisionVoter)的概念,有无权限访问的最终觉得权是由投票器来决定的,最常见的投票器为RoleVoter,在RoleVoter中定义了权限的前缀


3、authenticatedVoter是为了支持IS_AUTHENTICATED这种认证

authenticatedVoter提供的3种认证,分别是:

IS_AUTHENTICATED_ANONYMOUSLY 允许匿名用户进入

IS_AUTHENTICATED_FULLY 允许登录用户进入

IS_AUTHENTICATED_REMEMBERED 允许登录用户和rememberMe用户进入


你可能感兴趣的:(Spring-Security)