あなたは私がカスタムisTeamMember
というメソッドを定義している見ることができるように、私はMethodSecurityExpressionOperations
の登録方法
public class CustomMethodSecurityExpressionRoot extends SecurityExpressionRoot implements MethodSecurityExpressionOperations {
private Object filterObject;
private Object returnObject;
CustomMethodSecurityExpressionRoot(Authentication authentication) {
super(authentication);
}
public boolean isTeamMember(Job job) {
//very interesting logic
}
@Override
public Object getFilterObject() {
return this.filterObject;
}
@Override
public Object getReturnObject() {
return this.returnObject;
}
@Override
public Object getThis() {
return this;
}
@Override
public void setFilterObject(Object obj) {
this.filterObject = obj;
}
@Override
public void setReturnObject(Object obj) {
this.returnObject = obj;
}
}
の次の実装を持っています。このメソッドは、次の事前承認アノテーションによって正常に評価されます。@PreAuthorize("isTeamMember(#job)")
ただし、残念ながらSpring SpEL関数としては解決されません。
SPEL機能としてisTeamMember
を登録するための任意の春Bootishオートマジック方法はありますか?私はこれを言うだろう