5
프로젝트에서 나는 역할 설명보다는 역할 ID를 기반으로 인증을 수행하며이 매핑은 데이터베이스에 저장됩니다.스프링 보안 제거 RoleVoter 접두어
제 질문은 스프링 보안의 RoleVoter 접두어를 제거하여 위와 같이 디자인을 구현하려면 어떻게합니까?
프로젝트에서 나는 역할 설명보다는 역할 ID를 기반으로 인증을 수행하며이 매핑은 데이터베이스에 저장됩니다.스프링 보안 제거 RoleVoter 접두어
제 질문은 스프링 보안의 RoleVoter 접두어를 제거하여 위와 같이 디자인을 구현하려면 어떻게합니까?
스프링 보안 RoleVoter
에는 부여 된 권한을 구별하기 위해 접두사가 필요합니다. 자세한 내용은 answer을 참조하십시오.
변경하려는 경우 언제든지 사용자 지정 AccessDecisionManager and configure it with a custom
RoleVoter`를 제공 할 수 있습니다.
이
는 사용자 정의 액세스 결정 매니저의 예입니다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>
어떻게 봄'에서 그것을 구성해야합니까 -security.xml'? – khateeb
XMLconfig를 사용하여 답변을 업데이트했습니다. –
생성자 AffirmativeBased()는 스프링 보안 4.1.3에서 정의되지 않았습니다. – Julien