Single-Sign-On
Shibboleth 返回 url 不適用於子目錄?
我們第一次嘗試安裝 Shibboleth,當在頂級域上為網站應用單點登錄時,我們一切正常,但不是在子目錄下。
這是我們完美執行的 Apache 虛擬主機配置文件:
<VirtualHost *:443> ... some other settings <Location /> AuthType shibboleth Require shibboleth ShibRequireSession On Order allow,deny Allow from all </Location> </VirtualHost>
使用此配置,我們可以這樣做:
情景 A
- 在
https://myawesomewebsite.com/secure
我的網路瀏覽器中訪問- 我的網路瀏覽器將我重定向到我的單點登錄服務,網址為
https://somesinglesignon.com/authenticate
- 我輸入我的使用者名和密碼,
https://somesinglesignon.com/authenticate
然後按送出- 伺服器把我送回
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
- 在
https://myawesomewebsite.com/secure
我的網路瀏覽器中訪問- 我的網路瀏覽器將我重定向到我的單點登錄服務,網址為
https://somesinglesignon.com/authenticate
- 我輸入我的使用者名和密碼,
https://somesinglesignon.com/authenticate
然後按送出- 伺服器把我送回
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>