Merge remote-tracking branch 'origin/6.3.x'
This commit is contained in:
@@ -1009,6 +1009,15 @@ public class PrePostMethodSecurityConfigurationTests {
|
||||
verify(expressionHandler, times(4)).createEvaluationContext(any(Supplier.class), any());
|
||||
}
|
||||
|
||||
// gh-15721
|
||||
@Test
|
||||
@WithMockUser(roles = "uid")
|
||||
public void methodWhenMetaAnnotationPropertiesHasClassProperties() {
|
||||
this.spring.register(MetaAnnotationPlaceholderConfig.class).autowire();
|
||||
MetaAnnotationService service = this.spring.getContext().getBean(MetaAnnotationService.class);
|
||||
assertThat(service.getIdPath("uid")).isEqualTo("uid");
|
||||
}
|
||||
|
||||
private static Consumer<ConfigurableWebApplicationContext> disallowBeanOverriding() {
|
||||
return (context) -> ((AnnotationConfigWebApplicationContext) context).setAllowBeanDefinitionOverriding(false);
|
||||
}
|
||||
@@ -1403,6 +1412,27 @@ public class PrePostMethodSecurityConfigurationTests {
|
||||
return list;
|
||||
}
|
||||
|
||||
@RestrictedAccess(entityClass = EntityClass.class)
|
||||
String getIdPath(String id) {
|
||||
return id;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@Retention(RetentionPolicy.RUNTIME)
|
||||
@PreAuthorize("hasRole({idPath})")
|
||||
@interface RestrictedAccess {
|
||||
|
||||
String idPath() default "#id";
|
||||
|
||||
Class<?> entityClass();
|
||||
|
||||
String[] recipes() default {};
|
||||
|
||||
}
|
||||
|
||||
static class EntityClass {
|
||||
|
||||
}
|
||||
|
||||
@Retention(RetentionPolicy.RUNTIME)
|
||||
|
||||
Reference in New Issue
Block a user