2016-05-30 45 views
0

我被要求针对基于weblogic的基于Web的应用程序的活动目录实施无缝SSO身份验证。 经过大量的测试和实验后,我设法让所有链条按要求工作。 从Windows管理的PC登录并使用IE的用户可以无缝登录到Web应用程序。SSO身份验证/ Active Directory/weblogic/apache代理问题

之后,在web浏览器和weblogic之间配置并安装了apache,以执行HTTPS - > HTTP终止。一旦完成,浏览器停止执行无缝登录 - 尽管基本身份验证确实有效;

进一步调查,我注意到授权标头没有被转发到weblogic,证明为什么认证没有发生。 请注意,我使用的Apache服务器是2.2。

有没有人知道如果apache显式删除授权标头?我也曾尝试增加请求最大大小30KB的情况下,这是问题

谢谢

+0

您是否启用了'libapache-mod-auth-kerb'模块?我之前使用HTTP.keytab完成了Apache SSO,如果您希望我发布该文档,我可以。 – Ramkee

+0

谢谢你或你的回应。然而我的问题是这样的。我已经设置了一切,以便在浏览器 - > weblogic-> webapp之间无缝工作。但是,我需要一个Apache之间为了做HTTPS - > HTTP转换。每当我直接点击weblogic时,一切正常,但是当我通过apache BASIC身份验证弹出窗口显示时。看起来授权标头没有通过 – chalad

回答

0
  • 我们需要安装以下包。 apt-get install libapache-mod-auth-kerb

  • 首先,我们必须复制HTTP.keytab(这是在“活动目录”产生的),以etc/krb5.keytab像如下。 cp /root/HTTP.keytab /etc/krb5.keytab

  • 接下来我们必须给予适当的权限。 chown www-data:www-data /etc/krb5.keytab chmod 400 /etc/krb5.keytab

  • 接下来我们去到Apache虚拟主机路径 vi /etc/apache2/sites-available/default

添加一个目录像下面

`<Directory /> 
      AuthName "Kerberos Login" 
      AuthType Kerberos 
      Krb5Keytab /etc/krb5.keytab 
      KrbServiceName HTTP 
      KrbAuthRealm YOURDOMAIN.LOCAL //It is Domain name of your server 
      KrbMethodNegotiate on 
      KrbSaveCredentials on 
      KrbVerifyKDC on 
      Require valid-user 
    </Directory>` 

enter image description here

  • 重新启动Apache Web服务器 /etc/init.d/apache2 restart

  • 下一步进入到Active Directory客户机的浏览器,并击中了与Apache服务器的FQDN Web服务器。它不会要求您输入密码才能打开该网站。

enter image description here

注:

对于IE浏览器我们需要security标签

user authentication设置automatic logon with user name and password - >logon - >automatic logon with user name and password

enter image description here

如果您发现任何疑问,请及时更新我。

+0

感谢您的直通漫游,但是预期的解决方案是让weblogic执行实际的身份验证。当apache不在中间时,我有一切工作。请看我上面的评论 – chalad