2016-05-30 42 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