【问题标题】:Integrating simpleSAMLphp (SAML 2.0) with CMS Made Simple (CMSMS)将 simpleSAMLphp (SAML 2.0) 与 CMS Made Simple (CMSMS) 集成
【发布时间】:2012-10-31 21:58:52
【问题描述】:

我正在尝试使用基于 SAML2.0 的用户 ID 系统为客户构建服务提供商 (SP) 站点。

我已经能够在我的服务器上安装 simpleSAMLphp 并使用开放的 IdP 身份验证网络对其进行了测试 - 如果我只是创建要求针对此 IdP 进行身份验证的 php 文件,那么一切正常。只需将其添加到任何页面即可。

require_once('../simplesamlphp/lib/_autoload.php');
$auth = new SimpleSAML_Auth_Simple('default-sp');
$auth->requireAuth();
$attributes = $auth->getAttributes();

但是,在 CMSMS 中,如果我将上述内容添加为用户定义的 smarty 标记(包括 php 的常用方式),我会收到“状态丢失”错误。我已经尝试将它添加到页面元数据(通过内容界面)以及简单地添加到页面正文或模板头部。

我总是得到:

State information lost
State information lost, and no way to restart the request

有没有人知道可能出了什么问题?我已尝试对此错误消息进行常规修复(调整在 php.ini 等中分配 cookie 的域)。不开心。

【问题讨论】:

    标签: php saml saml-2.0 cmsmadesimple


    【解决方案1】:

    这似乎是 simpleSAMLphp 和 CMSMS 之间的冲突会话管理。

    解决这个问题的一个简单方法是安装 memcached,并使用 memcache 会话处理程序而不是 simplesamlphp 中的 php 会话处理程序。

    【讨论】:

    • 哇,安德烈亚斯本人的回答! :) 我很荣幸!非常感谢您使用 SimpleSAMLphp 所做的工作,这对我非常有帮助。根据您的建议,我将会话存储数据调整为另一种方法 - 实际上是通过 SQL,它已经解决了问题 - 非常感谢。
    【解决方案2】:

    eZ publish (4.x) 和 Symfony2 (2.3+) 也有类似的会话冲突。 SQL 会话存储解决了这个问题

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-11
      • 2021-07-15
      • 1970-01-01
      • 2017-07-25
      • 1970-01-01
      • 2020-05-12
      相关资源
      最近更新 更多