Ich möchte @PreAuthorize
mit SpEL innerhalb Spring Security wie das Beispiel bei http://forum.spring.io/forum/spring-projects/security/100708-spel-and-spring-security-3-accessing-bean-reference-in-preauthorize verwenden, aber dies ist nicht für mich arbeiten, während es in Spring Security 4.1.4. Unten ist mein Beispielcode:Verwendung anderer Bean und Methode in Spring Security @ PreAuthorize
Eine Bean-Klasse:
package com.service.spel;
import org.springframework.stereotype.Component;
@Component(value="accessBean")
public class AccessCheckBean {
public String getPermision(){
/**
* return the api permision
*/
String scope = "#oauth2.hasScope('resource.Update')";
return scope;
}
}
In Controller:
@PreAuthorize("accessBean.getPermision()")
@GetMapping("/perm")
public @ResponseBody String getPerm(){
return "Perm";
}
Fehlermeldung:
Fehlgeschlagen Ausdruck auszuwerten ‚accessBean.getPermision() '
scheint, ich kann SpEL nicht wie oben verwenden, dann, wenn ich diese Version von Spring Security verwende, wie kann ich fortfahren?