Tôi đang cố gắng để thực hiện phương pháp an ninh sử dụng Java Config, nhưng tôi nhận được một lỗi: -Không resolver đậu đăng ký trong bối cảnh để giải quyết quyền truy cập vào đậu
org.springframework.expression.spel.SpelEvaluationException: EL1057E:(pos 1): No bean resolver registered in the context to resolve access to bean 'appPermissionEvaluator'
Phương pháp này là: -
@PreAuthorize("@appPermissionEvaluator.hasSystemPermission()")
public String something() {
...
}
định nghĩa lớp Config là (MethodSecurityConfig.java): -
@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;
}
...
}
tôi đã kiểm tra mà tôi có thể autowire đậu trong cùng một lớp, tôi cũng tìm thấy phương thức hasPermission() mặc định đang hoạt động như tôi đã triển khai chúng, vấn đề duy nhất là đọc bean từ Spel. Tôi không biết có gì sai. Bất kỳ con trỏ?
Tôi đang sử dụng Spring 4.1.5 và mùa xuân an ninh 3.2.7