您知道是否可以检查谁在调用某个方法并限制他们是否可以使用 Java 注解执行该方法?
例如,如果您有一个客户端和一个服务器。有多个用户,他们具有不同的角色,他们登录到客户端。然后(同一个客户端)不同的用户想要调用服务器上的 getMethod 。
我可以限制谁可以使用 Java 注解调用此方法吗?
Like:
@Role(role="AllowedRole")
public ReturnType getMethod() {
...
}
嗯,我曾经在 JBoss Server 中使用 Seam/DeltaSpike 来实现这一点。这非常简单。
基本上,您有一个用注释来注释的方法。例如,我的是@User
:
public class MyClass {
@User
public Object getMethod() {
//implementation
}
}
接下来,您需要一个类来定义如何检查注释:
public class Restrictions {
@Secures @User
public boolean isOk(Identity identity) {
if (identity.getUsername("Peter")) {
return true;
}
return false;
}
}
就是这样!当然,您需要一些库并在某些 xml 文件(如 beans.xml)中定义这些拦截内容,但通过一点谷歌搜索就可以轻松完成。
从这些链接开始:
- 接缝框架 http://www.seamframework.org/
- 当我开始使用这个时,我在 JBoss 社区上提出的问题 https://community.jboss.org/people/sijalica?view=overview
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)