Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/342.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Apache和J2EE共享安全域/登录,单点登录_Java_Apache_Authentication_Tomcat_Jakarta Ee - Fatal编程技术网

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

Java Apache和J2EE共享安全域/登录,单点登录,java,apache,authentication,tomcat,jakarta-ee,Java,Apache,Authentication,Tomcat,Jakarta Ee,以下是我想创造的情况: www.blah.com/priv-受Apache HTTP基本身份验证保护,领域为“foo” www.blah.com/application-受Tomcat/Servlet HTTP-Basic-Auth保护,领域为“foo” 用户访问权限/priv,apache请求登录信息,他们提供并被授予访问权限 然后,同一用户请求/应用程序。因为在前一步中他们已经通过了“foo”领域的身份验证,所以我希望他们能够直接进入 如果其他用户访问/application而不首先进入/

以下是我想创造的情况:

  • www.blah.com/priv
    -受Apache HTTP基本身份验证保护,领域为“foo”
  • www.blah.com/application
    -受Tomcat/Servlet HTTP-Basic-Auth保护,领域为“foo”
  • 用户访问权限
    /priv
    ,apache请求登录信息,他们提供并被授予访问权限
  • 然后,同一用户请求
    /应用程序
    。因为在前一步中他们已经通过了“foo”领域的身份验证,所以我希望他们能够直接进入
  • 如果其他用户访问
    /application
    而不首先进入
    /priv
    ,Tomcat需要身份验证(然后他们也可以稍后访问
    /priv
    ,而无需重新身份验证)
基本上,我希望apache和tomcat共享身份验证领域,理想情况下,共享用户数据库


如何才能最好地做到这一点?

您是否已经尝试过这样做,但失败了?我这样问是因为HTTP基本身份验证完全是通过向请求添加HTTP头来实现的;也就是说,一旦您针对给定服务器上的给定域进行了身份验证,您的浏览器会向您的请求添加一个附加的头(例如,“Authorization:Basic amxldmludnskZXZsaW4=“”),并且服务器会确认您已通过该头的身份验证。因此,考虑到您的示例,以及我刚才做的一些特别测试,我怀疑您描述的设置在您不需要任何额外努力的情况下也能正常工作。

我无法让Jenkins或SonarQube本人使用它。虽然我正在尝试通过mod_proxy(如果可能的话,还有mod_proxy_ajp)进行设置