向Symfony

时间:2016-10-10 23:39:05

标签: php .htaccess authentication symfony shibboleth

我一直在开发一个Symfony应用程序(学习Symfony的目的是用它替换现有的#34;旧学校和#34; PHP脚本)并且遇到了问题,因为它背后的问题" #34;我们的Shibboleth身份验证。

为什么这样?对于这个应用程序,我需要$ _SERVER [' REMOTE_USER']。该应用程序没有本地帐户,用户无法登录该应用程序,但是,与许多资源一样,我们通过某种形式的身份验证来保护它们。

我有两个站点 - 在同一物理服务器上运行的虚拟主机。 (CentOS 7)。第一个站点的.htaccess文件中包含以下内容:

authtype shibboleth
ShibRequestSetting requireSession 1
require valid-user

我有一个" phpinfo.php"也可以运行该脚本,并在Shibboleth身份验证步骤之后获取包含REMOTE_USER正确值的输出。

其他虚拟主机设置为Symfony 3.1应用程序。我已经将这三行添加到了#34; .htaccess"的顶部。文件 - 但在经过Shibboleth身份验证步骤后,浏览器进入循环并继续前进。 (在Chrome中,' favicon'被循环箭头取代,它永远不会停止转动。)

如果我点击然后查看此静止页面的来源,我会看到以下错误消息:

Error Message: Error decoding authentication request message

我不确定如何开始解决这个问题,并希望有人看到这个并知道如何提供帮助。

感谢。

最佳, 斯蒂芬

1 个答案:

答案 0 :(得分:0)

如果我理解得很清楚,那么您正试图让服务提供商成为Symfony的一部分,而您已经有一个IDP与Shibboleth合作。

在我的情况下,我也有类似的问题,这是因为在断言之后apache SP返回到根URL。我在阅读了大量文档后了解到,如果设置不正确,可以在名为homeURL的shibbolet2.xml配置中添加一个属性:

 <ApplicationDefaults entityID="https://sso/saml2/idp/metadata.php"

    REMOTE_USER="mail"

    homeURL="https://symfonyApp/redirect/after/login">

尝试并重新启动shib守护程序:/etc/init.d/shibd restart

也可能是另一个。但是听起来我的SP方面存在一些错误配置。