Apache和J2EE共享安全领域/登录,单点登录

时间:2020-03-06 14:26:28  来源:igfitidea点击:

这是我要创建的情况:

  • " www.blah.com/priv"-受Apache HTTP Basic Auth(领域" foo")保护
  • " www.blah.com/application"-受Tomcat / Servlet HTTP Basic Auth保护,领域" foo"
  • 用户访问权限" / priv",apache请求登录信息,他们提供访问权限
  • 然后,同一用户请求/ application。由于它们已经在上一步中对" foo"领域进行了身份验证,因此我希望将它们直接引入。
  • 如果另一个用户访问" /应用程序"而不先进入" / priv",则Tomcat需要进行身份验证(然后他们也可以稍后访问" / priv"而不必重新进行身份验证)

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

如何最好地做到这一点?

解决方案

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