我一直在開發一個Symfony應用程序(學習Symfony的目標是用它替換現有的「舊學校」PHP腳本),並且遇到了將它放在我們的Shibboleth身份驗證背後的問題。將Shibboleth身份驗證添加到Symfony
爲什麼這樣做?對於這個應用程序,我需要$ _SERVER ['REMOTE_USER']。該應用程序沒有本地帳戶,用戶不會登錄到應用程序,但是像許多資源一樣,我們使用某種形式的身份驗證來保護它們。
我有兩個站點 - 在同一臺物理服務器上運行的虛擬主機。 (CentOS 7)。第一個網站在其.htaccess文件如下:
authtype shibboleth
ShibRequestSetting requireSession 1
require valid-user
我在那裏有一個「phpinfo.php的」文件也一樣,並且可以運行該腳本,並且在Shibboleth的認證步驟後,得到的輸出,包含REMOTE_USER的正確值。
其他虛擬主機被設置爲Symfony 3.1應用程序。我已經將這三行添加到了「.htaccess」文件的頂部 - 但是在完成Shibboleth身份驗證步驟之後,瀏覽器進入循環並且不再進行更多操作。 (在Chrome中,將「圖標」被替換爲一個循環的箭頭,它永遠不會停止轉動。)
如果我打,然後查看這仍然空頁面的源代碼,我看到了以下錯誤消息:
Error Message: Error decoding authentication request message
我不知道如何開始解決這個問題,並希望有人看到了這一點,並知道如何提供幫助。
謝謝。
最佳, 斯蒂芬
幾乎肯定是一個重定向循環。我更改了虛擬主機的DocumentRoot -/var/www/vhost/candy - 並將Shibboleth特定的.htaccess文件放在那裏。 Symfony文件夾位於/ var/www/vhost/candy/bar中,如果我將瀏覽器指向'candy/bar/web /',我將通過Shibboleth步驟,然後進入Symfony應用程序。 –