如何将某些Web服务方法限制为某些用户?

时间:2013-02-06 14:52:12

标签: java web-services

我的问题是,我有一个用Java编写的Web服务,我想给用户提供特定的授权,例如,userA应该只访问methodA,userB应该只访问methodB。我怎么能这样做?

非常感谢。

2 个答案:

答案 0 :(得分:2)

我认为最简单,最标准化的方法是使用Spring安全性,我发现它很容易使用,请在此处阅读更多相关内容:http://www.mkyong.com/tutorials/spring-security-tutorials/

如果由于某种原因你不想要它,那么javax.servlet.Filter就是你的选择。

答案 1 :(得分:0)

您可以通过多种方式执行此操作,这完全取决于您的部署。但就像在黑暗中一样,你可以在web.xml中限制它。

在web.xml中创建安全约束......

 <security-constraint>
            <web-resource-collection>
                    <web-resource-name>MRC Customer Care</web-resource-name>
                    <url-pattern>/protected/*</url-pattern>
            </web-resource-collection>
            <auth-constraint>
                    <role-name>role1</role-name>
            </auth-constraint>
    </security-constraint>

然后,将此角色(role1)映射到用户......

<tomcat-users>
  <user name="role1"  password="tomcat" roles="role1"  />
</tomcat-users>

有效用户可以在/ protected /获取您的URI,假设您的网站服务在哪里,无效用户将收到403.

这是一个可能的答案。