Describe the bug
PrePostMethodSecurityConfiguration takes in account custom GrantedAuthorityDefaults, RoleHierarchy and AuthorizationManagerFactory beans but ignores custom PermissionEvaluator bean.
To Reproduce
Setup a context with a custom permission evaluator, for instance PrePostMethodSecurityConfigurationTests with:
@Configuration
@EnableMethodSecurity
static class CustomPermissionEvaluatorConfig {
@Bean
PermissionEvaluator permissionEvaluator() {
return new PermissionEvaluator() {
@Override
public boolean hasPermission(Authentication authentication, Object targetDomainObject,
Object permission) {
return "grant".equals(targetDomainObject);
}
@Override
public boolean hasPermission(Authentication authentication, Serializable targetId, String targetType,
Object permission) {
throw new UnsupportedOperationException();
}
};
}
}
=> custom PermissionEvaluator bean is not injected into PrePostMethodSecurityConfiguration's default expression handler and following test fails:
@WithMockUser
@Test
public void postHasPermissionWhenParameterIsGrantThenPasses() {
this.spring.register(CustomPermissionEvaluatorConfig.class, MethodSecurityServiceConfig.class).autowire();
String result = this.methodSecurityService.postHasPermission("grant");
assertThat(result).isNull();
}
Expected behavior
Custom permission evaluator should be injected in PrePostMethodSecurityConfiguration's default expression handler.
Sample
I will link to a PR soon.
Describe the bug
PrePostMethodSecurityConfigurationtakes in account customGrantedAuthorityDefaults,RoleHierarchyandAuthorizationManagerFactorybeans but ignores customPermissionEvaluatorbean.To Reproduce
Setup a context with a custom permission evaluator, for instance
PrePostMethodSecurityConfigurationTestswith:=> custom
PermissionEvaluatorbean is not injected intoPrePostMethodSecurityConfiguration's default expression handler and following test fails:Expected behavior
Custom permission evaluator should be injected in
PrePostMethodSecurityConfiguration's default expression handler.Sample
I will link to a PR soon.