Example usage for org.springframework.security.access.expression.method ExpressionBasedPreInvocationAdvice ExpressionBasedPreInvocationAdvice

List of usage examples for org.springframework.security.access.expression.method ExpressionBasedPreInvocationAdvice ExpressionBasedPreInvocationAdvice

Introduction

In this page you can find the example usage for org.springframework.security.access.expression.method ExpressionBasedPreInvocationAdvice ExpressionBasedPreInvocationAdvice.

Prototype

ExpressionBasedPreInvocationAdvice

Source Link

Usage

From source file:com.swordcode.webcore.security.server.MethodSecurityConfig.java

@SuppressWarnings("rawtypes")
@Override// w ww .  j a v  a2 s .  c o m
protected AccessDecisionManager accessDecisionManager() {
    List<AccessDecisionVoter> decisionVoters = new ArrayList<>();
    ExpressionBasedPreInvocationAdvice expressionAdvice = new ExpressionBasedPreInvocationAdvice();
    expressionAdvice.setExpressionHandler(getExpressionHandler());

    // If prePostEnabled
    decisionVoters.add(new PreInvocationAuthorizationAdviceVoter(expressionAdvice));

    RoleVoter rv = new RoleVoter();
    rv.setRolePrefix("");
    decisionVoters.add(rv);
    decisionVoters.add(new AuthenticatedVoter());
    return new AffirmativeBased(decisionVoters);
}

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>//from   w  w  w .j  av  a2 s. com
 * <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:org.springframework.security.config.annotation.method.configuration.GlobalMethodSecurityConfiguration.java

/**
 * Creates the {@link PreInvocationAuthorizationAdvice} to be used. The default is
 * {@link ExpressionBasedPreInvocationAdvice}.
 *
 * @return the {@link PreInvocationAuthorizationAdvice}
 *///w  w w .  j  a  v  a2 s . co  m
@Bean
public PreInvocationAuthorizationAdvice preInvocationAuthorizationAdvice() {
    ExpressionBasedPreInvocationAdvice preInvocationAdvice = new ExpressionBasedPreInvocationAdvice();
    preInvocationAdvice.setExpressionHandler(getExpressionHandler());
    return preInvocationAdvice;
}