public @interface UserRole {
String[] value() default "";
}
@UserRole({"admin", "manager"})
public void deleteData() {
}
public class AuthAspect {
@Before("execution(* com.example.service.*.*(..)) && @annotation(userRole)")
public void checkUserRole(UserRole userRole) {
}
}
@Configuration
@EnableAspectJAutoProxy
public class AppConfig {
@Bean
public AuthAspect authAspect() {
return new AuthAspect();
}
}