erişimi çözmek için, ama hata alıyorum: -bağlamda kayıtlı hiçbir fasulye çözümleyici fasulyesi
org.springframework.expression.spel.SpelEvaluationException: EL1057E:(pos 1): No bean resolver registered in the context to resolve access to bean 'appPermissionEvaluator'
yöntemdir: -
@PreAuthorize("@appPermissionEvaluator.hasSystemPermission()")
public String something() {
...
}
Yapılandırma sınıf tanımı (MethodSecurityConfig.java) 'dir: -
@Configuration
@EnableGlobalMethodSecurity(prePostEnabled = true)
public class MethodSecurityConfig extends GlobalMethodSecurityConfiguration {
@Bean
public AppPermissionEvaluator appPermissionEvaluator() {
return new AppPermissionEvaluator();
}
@Override
protected MethodSecurityExpressionHandler createExpressionHandler() {
DefaultMethodSecurityExpressionHandler expressionHandler =
new DefaultMethodSecurityExpressionHandler();
expressionHandler.setPermissionEvaluator(appPermissionEvaluator());
return expressionHandler;
}
...
}
ben fasulye autowire mümkün olduğumu kontrol Aynı sınıfta, ben de onları uygulamış olduğum gibi varsayılan withPermission() yöntemlerinin çalıştığını buldum, tek sorun, SpEL'den fasulye okuyor. Neyin yanlış olduğundan emin değilim. Herhangi bir işaretçi?
Spring 4.1.5 ve Bahar güvenliğini 3.2.7 Sen DefaultMethodSecurityExpresssionHandler üzerinde ApplicationContext set sağlamak için gereken