在拦截器中获取执行方法注解
我有一些操作需要特定用户权限才能访问,因此我创建了一个方法注释 @RequiredPermission 和一个拦截器来验证将要执行的方法是否具有该注释以及是否验证了登录用户有权限。
问题是我不知道如何从 ActionIn Vocation 获取此信息,也不知道如何从 ActionContext 获取此信息。
我确信这应该是一种方法,因为如果不是的话,我会说它可能不是一个很好的框架。
有什么建议吗?
I have some actions that requires a specific user permission to be accessed, so I created a method annotation @RequiredPermission and a interceptor to verify if the method that is going to be executed have or not the annotation and if it have verify if the logged user have the permission.
The problem is that I don't know how to get this information from ActionInvocation and neither from ActionContext.
I'm sure that should be one way to do it, cause if not I'd say its probably a not good framework to work with.
Any tip?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您需要的信息包含在 < code>ActionProxy,可通过
ActionInitation.getProxy()
。拥有代理后,您就可以访问操作本身(从
ActionIn Vocation
)和方法名称 (ActionProxy.getMethod()
) 作为 细绳。从那时起,它就是正常的 Java 反射。
或者无论如何你想处理实际的逻辑。
The information you need is contained in the
ActionProxy
, available viaActionInvocation.getProxy()
.Once you have the proxy, you have access to the action itself (from the
ActionInvocation
) and the method name (ActionProxy.getMethod()
) as a string.From then on out it's normal Java reflection.
Or however you want to handle the actual logic.