我在我的应用程序中使用注释对一些服务方法进行了@PreAuthorize
注释。这些注释使用hasAuthority
,hasRole
等,它们将来可能包含其他有效的构造。例如:
@PreAuthorize("hasAuthority('Customer.Get')")
public Customer getCustomer(String name);
我想反思地收集我所有PreAuthorize
注释(例如等)中使用的所有权限。Customer.Get
PreAuthorize pre = (PreAuthorize) m.getAnnotation(PreAuthorize.class);
String expr = pre.value();
我正在寻找类似的东西:
List<HasAuthority> h = SpringXYZ.getHasAuthorities(expr);
并从 h.get(0) 中获取“Customer.Get”字符串 ....
这可能吗?由于我需要在我的应用程序初始化期间进行此检索,因此当时没有可用的身份验证对象。
任何建议表示赞赏。