我的问题是,我有一个用 Java 编写的 Web 服务,我想给用户特定的授权,例如,userA 应该只访问 methodA,userB 应该只访问 methodB。我怎样才能做到这一点?
非常感谢。
我的问题是,我有一个用 Java 编写的 Web 服务,我想给用户特定的授权,例如,userA 应该只访问 methodA,userB 应该只访问 methodB。我怎样才能做到这一点?
非常感谢。
我认为最简单和最标准化的方法是使用 spring security,我发现它很容易使用,在这里阅读更多信息:http ://www.mkyong.com/tutorials/spring-security-tutorials/
如果您出于某种原因不想要它,那么 javax.servlet.Filter 就是要走的路。
您可以通过多种方式执行此操作,这完全取决于您的部署。但就像在黑暗中拍摄一样,您可以在 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>
假设您的 Web 服务所在的位置,有效用户将能够在 /protected/ 处访问您的 URI,无效用户将收到 403。
这是一个潜在的答案。