복붙노트

[SPRING] 스프링 보안 제거 RoleVoter 접두사

SPRING

스프링 보안 제거 RoleVoter 접두사

프로젝트에서 우리는 역할 설명 대신 역할 ID를 기반으로 인증을 수행하며이 매핑은 데이터베이스에 저장됩니다.

내 질문은 위와 같이 디자인을 구현하기 위해 Spring Security의 RoleVoter 접두사를 제거하려면 어떻게해야합니까?

해결법

  1. ==============================

    1.스프링 보안 RoleVoterneeds는 부여 된 권한을 구별하기 위해 접두사 역할을합니다. 자세한 내용은이 답변을 참조하십시오.

    스프링 보안 RoleVoterneeds는 부여 된 권한을 구별하기 위해 접두사 역할을합니다. 자세한 내용은이 답변을 참조하십시오.

    이를 변경하려면 사용자 정의 AccessDecisionManager를 제공하고 customRoleVoter`를 사용하여 구성 할 수 있습니다.

    다음은 이러한 사용자 지정 액세스 결정 관리자의 예입니다.

    public class MyAccessDecisionManager  extends AffirmativeBased {
    
    
        public MyAccessDecisionManager() {
            super();
            List<AccessDecisionVoter> decisionVoters = new ArrayList<AccessDecisionVoter>();
            RoleVoter roleVoter = new MyCustomRoleVoter();
            decisionVoters.add(roleVoter);
            AuthenticatedVoter authenticatedVoter = new AuthenticatedVoter();
            decisionVoters.add(authenticatedVoter);
            setDecisionVoters(decisionVoters);
    
        }
    

    기본 액세스 권한 결정 관리자 대신 사용하려면 다음을 수행하십시오.

    <bean id="myAccessDecisionManager" class="full.package.name.MyAccessDecisionManager" />
    
    <security:http access-decision-manager-ref="myAccessDecisionManager">
        ...
    </security:http>
    
  2. from https://stackoverflow.com/questions/21620076/spring-security-remove-rolevoter-prefix by cc-by-sa and MIT license