在 Tomcat Servlet Container 中对 webapp 请求进行身份验证和授权的最佳方法是什么?
我有两个想法,
1 - 使用 Tomcat 领域。2 - 有一个 Web 服务,它提供了根据 XACML 策略评估用户请求的能力。这意味着如果我们将用户名、资源名(这里是 servlet)发送到该 Web 服务,它将根据 XACML 策略(我们可以更改或添加新策略)评估请求并说允许或拒绝。
什么是最好的方法 ?
在 Tomcat Servlet Container 中对 webapp 请求进行身份验证和授权的最佳方法是什么?
我有两个想法,
1 - 使用 Tomcat 领域。2 - 有一个 Web 服务,它提供了根据 XACML 策略评估用户请求的能力。这意味着如果我们将用户名、资源名(这里是 servlet)发送到该 Web 服务,它将根据 XACML 策略(我们可以更改或添加新策略)评估请求并说允许或拒绝。
什么是最好的方法 ?
我建议你使用 tomcat 领域或 servlet 过滤器
Container Managed Authentication is the standard solution. That means you define a JAASRealm in Tomcat and define your own LoginModule(s) and JAAS configuration file. The LoginModules can do whatever you like. Tomcat will take care of ensuring a login when required, and of enforcing access control via the user's roles as set up by your login module and defined in web.xml. No filters required.
我编写了一个 Servlet PEP,它从 HttpServletObject 和可能的附加信息(例如一天中的时间)创建 XACML 请求,并将其发送到 PDP。
为此,我实现了 javax.servlet.Filter。这确实是前进的最佳方式。然后,您可以在 web.xml 中定义过滤器的范围。
然后,我的 PEP 将 XACML 请求作为 SOAP 消息发送到 Axiomatics XACML 3.0 PDP。你在用什么?
也可以在 Youtube 上查看我的 SDK 视频,该视频展示了如何快速创建 Java PEP。http://www.youtube.com/watch?v=Z_2M775uFxo