有没有办法阻止用户在resteasy中访问PUT,POST和DELETE资源?

时间:2012-11-06 16:02:45

标签: java rest authorization jax-rs resteasy

我的程序中有很多方法,也有很多用户。我怎么做,只允许特定用户配置文件访问RestEasy中标有@GET的方法?

更新

我有一些用户个人资料,例如管理员,所有者,经理,员工和演示。

我想拒绝所有操作,但GET给用户的配置文件是Demonstration。阻止某些用户执行某些方法的方法只是检查它们属于哪个配置文件(IF)。

2 个答案:

答案 0 :(得分:2)

如果您的系统已经定义了用户和角色,并且您可以使用JAAS实现标准身份验证和授权,那么您可以使用Jboss安全注释来保护您的方法。请参阅此链接了解更多详情 -

http://docs.jboss.org/resteasy/2.0.0.GA/userguide/html/Securing_JAX-RS_and_RESTeasy.html

答案 1 :(得分:0)

在REST服务之前,您还可以添加反向HTTP代理(如Apache)并使用您想要的身份验证提供程序(LDAP或其他)。

示例:

<Location /myService/>
   AuthType Basic
   AuthName Foo
   AuthBasicProvider ldap
   AuthzLDAPAuthoritative off
   AuthLDAPURL ldap://ldap.acme.org/dc=acme,dc=org?cn
   <LIMIT POST PUT DELETE>
     require ldap-group cn=employee,dc=acme,dc=org
   </LIMIT>
</Location>