Single-Sign-On

Shibboleth 返回 url 不適用於子目錄?

  • April 9, 2018

我們第一次嘗試安裝 Shibboleth,當在頂級域上為網站應用單點登錄時,我們一切正常,但不是在子目錄下。

這是我們完美執行的 Apache 虛擬主機配置文件:

 <VirtualHost *:443>

   ... some other settings
   <Location />
       AuthType shibboleth
       Require shibboleth
       ShibRequireSession On
       Order allow,deny
       Allow from all
   </Location>

</VirtualHost>

使用此配置,我們可以這樣做:

情景 A

  1. https://myawesomewebsite.com/secure我的網路瀏覽器中訪問
  2. 我的網路瀏覽器將我重定向到我的單點登錄服務,網址為https://somesinglesignon.com/authenticate
  3. 我輸入我的使用者名和密碼,https://somesinglesignon.com/authenticate然後按送出
  4. 伺服器把我送回https://myawesomewebsite.com/secure

上面的一切都很完美。

現在我要修改我的虛擬主機文件,使其<Location />變為<Location /secure>. 所以我的虛擬主機文件現在看起來像這樣:

<VirtualHost *:443>

   ... some other settings
   <Location /secure>
       AuthType shibboleth
       Require shibboleth
       ShibRequireSession On
       Order allow,deny
       Allow from all
   </Location>

</VirtualHost>

現在,當我嘗試重複步驟 1 到 4 時,我得到了這個:

情景 B

  1. https://myawesomewebsite.com/secure我的網路瀏覽器中訪問
  2. 我的網路瀏覽器將我重定向到我的單點登錄服務,網址為https://somesinglesignon.com/authenticate
  3. 我輸入我的使用者名和密碼,https://somesinglesignon.com/authenticate然後按送出
  4. 伺服器把我送回https://myawesomewebsite.com/Shibboleth.sso/SAML2/POST

為什麼第 4 步方案 A 與方案 B 中的第 4 步不同?如何使 A.4 與 B.4 相同?

嘗試以下操作:

   <Location />
           AuthType shibboleth
           require shibboleth

           Order allow,deny
           Allow from all
   </Location>

   <Location /secure>
           AuthType shibboleth
           ShibRequireSession On
           ShibUseHeaders On
           require valid-user
   </Location>

#<Location /secure>
#    AuthType shibboleth
#    Require shibboleth
#    ShibRequireSession On
#    Order allow,deny
#    Allow from all
#</Location>

我發現這很有幫助:http ://shibboleth.1660669.n2.nabble.com/Protect-single-sub-directory-Moodle-with-SP-reverse-proxy-td6590009.html

引用自:https://serverfault.com/questions/906822