java - Apache 和 J2EE 共享安全领域/登录、单点登录

标签 java apache authentication tomcat jakarta-ee

这是我想创建的情况:

  • www.blah.com/priv - 受 Apache HTTP Basic Auth 保护,领域“foo”
  • www.blah.com/application - 受 Tomcat/Servlet HTTP Basic Auth 保护,领域“foo”
  • 用户访问 /priv,apache 请求登录信息,他们提供并获得访问权限
  • 同一用户然后请求 /application。由于他们已在上一步中通过“foo”领域的身份验证,我希望他们可以直接进入。
  • 如果另一个用户访问 /application 而没有先访问 /priv,Tomcat 需要身份验证(然后他们也可以稍后访问 /priv无需重新验证)

基本上,我希望 apache 和 tomcat 共享身份验证领域,最好是用户数据库。

如何最好地实现这一目标?

最佳答案

您是否已经尝试过这样做但失败了?我问是因为 HTTP Basic 身份验证纯粹是通过向请求添加 HTTP header 来进行的;也就是说,一旦您在给定服务器上针对给定领域进行了身份验证,您的浏览器就会向您的请求添加一个额外的 header (例如,“Authorization:Basic amxldmludnskZXZsaW4 =”),并且服务器确认您已通过身份验证,因为那个标题。因此,根据您的示例,并根据我刚刚进行的一些临时测试,我怀疑您描述的设置可以正常工作,而无需您付出任何额外的努力。

关于java - Apache 和 J2EE 共享安全领域/登录、单点登录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/102778/

相关文章:

authentication - 微信社交登录

java - 如何使用jdt提取参数化类型的单一类型

java - XMLWorker 不调用我的 servlet 来渲染 pdf 中的图像

php - 在 xampp 中添加 Imagick

apache - 使用 Apache mod_rewrite 检测空 REQUEST_URI 时出现问题

java - 登录外部 Api 并向其发送 JSON

java - 如何使用java使用正则表达式搜索括号之间的文本?

java - Hibernate 局部变量的自定义注释

linux - 约 250,000 张图像的最佳 Web 文件夹结构

asp.net-mvc-4 - 跨 Web 角色和客户端应用程序共享 ASP.NET simplemembership 身份验证