Example usage for org.springframework.security.access.vote AffirmativeBased AffirmativeBased

List of usage examples for org.springframework.security.access.vote AffirmativeBased AffirmativeBased

Introduction

In this page you can find the example usage for org.springframework.security.access.vote AffirmativeBased AffirmativeBased.

Prototype

public AffirmativeBased(List<AccessDecisionVoter<? extends Object>> decisionVoters) 

Source Link

Usage

From source file:org.springframework.security.config.annotation.method.configuration.GlobalMethodSecurityConfiguration.java

/**
 * Allows subclasses to provide a custom {@link AccessDecisionManager}. The default is
 * a {@link AffirmativeBased} with the following voters:
 *
 * <ul>/*  w ww .jav  a2  s  .c  o  m*/
 * <li>{@link PreInvocationAuthorizationAdviceVoter}</li>
 * <li>{@link RoleVoter}</li>
 * <li>{@link AuthenticatedVoter}</li>
 * </ul>
 *
 * @return the {@link AccessDecisionManager} to use
 */
protected AccessDecisionManager accessDecisionManager() {
    List<AccessDecisionVoter<? extends Object>> decisionVoters = new ArrayList<AccessDecisionVoter<? extends Object>>();
    ExpressionBasedPreInvocationAdvice expressionAdvice = new ExpressionBasedPreInvocationAdvice();
    expressionAdvice.setExpressionHandler(getExpressionHandler());
    if (prePostEnabled()) {
        decisionVoters.add(new PreInvocationAuthorizationAdviceVoter(expressionAdvice));
    }
    if (jsr250Enabled()) {
        decisionVoters.add(new Jsr250Voter());
    }
    RoleVoter roleVoter = new RoleVoter();
    GrantedAuthorityDefaults grantedAuthorityDefaults = getSingleBeanOrNull(GrantedAuthorityDefaults.class);
    if (grantedAuthorityDefaults != null) {
        roleVoter.setRolePrefix(grantedAuthorityDefaults.getRolePrefix());
    }
    decisionVoters.add(roleVoter);
    decisionVoters.add(new AuthenticatedVoter());
    return new AffirmativeBased(decisionVoters);
}

From source file:piecework.config.WebSecurityConfiguration.java

@Bean(name = "pieceworkAccessDecisionManager")
public AccessDecisionManager resourceAccessDecisionManager() {
    @SuppressWarnings("rawtypes")
    AccessDecisionVoter voter = new ResourceAccessVoter();
    return new AffirmativeBased(Collections.singletonList(voter));
}