我正在修改很多登录脚本,并在我们的一个内部站点上运行,其中设置了一个像这样的大型函数文件。
- 班级
- 功能
- 功能
- 班级...
- 班级
- CLASS 验证用户
- 班级
- 班级
我运行了一个脚本来检索 SSO$_SESSION
数据,并希望将其从 SSO 服务器传递到用户会话。
我尝试在文件的不同部分运行脚本,但得到相同的结果。它在某些地方有效,而在其他地方无效。
我可以将所有$_SESSION
变量回显到 HTML 页面。
我还可以$_SESSION
在某些类中使用数据(无论我把它放在哪里,总是一样的)。
然而,我真正需要使用它的类 - 验证用户 - 一切都为空。
我在这里遗漏了什么吗(请不要告诉我session_start();
输入)。
我认为$_SESSION
数据是超全球性的。检索到的$_SESSION
数据也是超全局的吗?
如果不是,我需要做什么才能使其成为超全球性的?
这是我用来检索会话数据以传递的脚本 -
session_start();
$appKey = "00000000Uz";
$safeurl = 'https://safe.000000.com/login/sso/SSOService?app=playbooks';
// first call back after safe login - POST is set
if ($_POST && isset($_POST['digest']))
{
$digest = $_POST["digest"];
// set the session variables ...
$_SESSION['usernames'] = $_POST["firstname"]." ".$_POST["lastname"];
$_SESSION['firstname'] = $_POST["firstname"];
$_SESSION['lastname'] = $_POST["lastname"];
$_SESSION['email'] = $_POST["email"];
$_SESSION['uid'] = $_POST["uid"];
// Needed for key
$uid = $_POST["uid"];
$time = $_POST["time"];
// Read the property file with the key and URL so this won't go into the main code
// this sets $appKey and $safeurl
$mykey = "".$uid.$time.$appKey;
$mydigest = md5($mykey);
}
// session is not initialized as we never got the post above to set session vars
// call now the safe login to get the post to set the session vars ...
if (!isset($_SESSION['uid']) || empty($_SESSION['uid']))
{
// Read the property file with the key and URL so this won't go into the main code
// this sets $appKey and $safeurl
header("Location: ".$safeurl);
}
$usr = $_SESSION['uid'];
$this->setCurrentUserName($usr);
return TRUE;
}