会话变量在之后不起作用需要SIMPLESAMLPHP
我的会话变量有问题 我不能在我的请求之后设置任何变量。 但是我需要在登录后存储我的数据 代码如下:会话变量在之后不起作用需要SIMPLESAMLPHP,php,session,session-variables,simplesamlphp,Php,Session,Session Variables,Simplesamlphp,我的会话变量有问题 我不能在我的请求之后设置任何变量。 但是我需要在登录后存储我的数据 代码如下: <?php include "include/header.php"; require_once('simplesamlphp/lib/_autoload.php'); $as = new \SimpleSAML\Auth\Simple('default-sp'); $as->requireAuth(); $attributes = $as->getAttributes()
<?php include "include/header.php";
require_once('simplesamlphp/lib/_autoload.php');
$as = new \SimpleSAML\Auth\Simple('default-sp');
$as->requireAuth();
$attributes = $as->getAttributes();
$_SESSION["nivauth"] = "test";
?>
编辑:
- session_start()位于header.php中
- 我尝试在另一个页面上使用
echo$\u session[“nivauth”]获取会话变量代码>
注意:未定义索引:第10行/var/www/html/cableEdit.php中的nivauth
我的会话var nivauth仅在我的第一页可用
My session_start()正在工作,并且可以查看在其他页面上创建的所有My others sessions变量
如果我放置$\u会话[“nivauth”]=“test”代码>就在include everything下,但我无法从身份验证中获得nivauth
var已创建,但无法在其他页面上访问…请参阅
如果我们在SimpleSAMLphp中使用PHP会话,并且在我们保护的应用程序中,SimpleSAMLphp将在第一次调用时关闭任何现有会话,之后将以其自己的会话为准。如果要在调用SimpleSAMLphp后恢复自己的会话,可以通过如下方式清理会话:
$session = SimpleSAML_Session::getSessionFromRequest();
$session->cleanup();
如果您不清理SimpleSAMLphp的会话并在之后尝试使用$\u会话,您将无法使用自己的会话,并且您的所有数据都可能丢失或无法访问
cleanup()根本不起作用,所以除了$session->cleanup()之外,我还做了两个更改以使其起作用
1-config/config.php中的空session.phpsession.cookiename
'session.phpsession.cookiename' => ''
2-添加了会话_start();清理后()
我在SimpleSamlPHP中遇到了类似的问题。在尝试了各种解决方案后,下面的变通方法终于解决了我的问题
在header.php(或其他页面)中,而不是session_start()代码>通过在下面添加两行代码来初始化SimpleSamlPHP类,您可以将自定义会话变量与SimpleSamlPHP会话一起还原
require_once('simplesamlphp/lib/_autoload.php');
$as = new \SimpleSAML\Auth\Simple('default-sp');
下面是片段
<?php
//header.php
//session_start();
require_once('simplesamlphp/lib/_autoload.php');
$as = new \SimpleSAML\Auth\Simple('default-sp');
echo $_SESSION["nivauth"];
你怎么知道你的变量没有被设置?我试着在另一个页面上找到它,编辑了我的帖子
<?php
//header.php
//session_start();
require_once('simplesamlphp/lib/_autoload.php');
$as = new \SimpleSAML\Auth\Simple('default-sp');
echo $_SESSION["nivauth"];