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

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

Introduction

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

Prototype

public void setExpressionHandler(MethodSecurityExpressionHandler expressionHandler) 

Source Link

Usage

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

@SuppressWarnings("rawtypes")
@Override/*from  w w w  . j a v  a 2  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 ww  . j  ava2 s.c om
 * <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 a 2  s.  c  o m
@Bean
public PreInvocationAuthorizationAdvice preInvocationAuthorizationAdvice() {
    ExpressionBasedPreInvocationAdvice preInvocationAdvice = new ExpressionBasedPreInvocationAdvice();
    preInvocationAdvice.setExpressionHandler(getExpressionHandler());
    return preInvocationAdvice;
}