Hallo,
Wenn man simpleSAMLphp verwendet, gibt es ein bekanntes Problem mit der Session. Diese schliesst alle Session die gestartet werden:
https://stackoverflow.com/questions/...-simplesamlphp
So sieht meine Index.php aus:
Bezüglich den letzten 2 Zeilen (simplesamlphp.org):
If we are using PHP sessions in SimpleSAMLphp and in the application we are protecting, SimpleSAMLphp will close any existing session when invoked for the first time, and its own session will prevail afterwards. If you want to restore your own session after calling SimpleSAMLphp, you can do so by cleaning up the session like this:
Wenn ich im index.php dann schreibe:
Dann gibt es den Vor- und Nachnamen des eingeloggten Users aus.
Wenn ich dann auf meiner Logout.php ein session_start() mache und auf die Variablen zugreifen möchte:
Dann kommt Error : Undefined index: name
Wieso kann ich die Sessionvariable auf anderen Seiten nicht abrufen? Ich weiss dass es funktionieren würde, wenn ich simplesamlphp nicht im Einsatz hätte aber es muss doch eine Lösung geben?
Ich habe viel recherchiert aber finde einfach keine funktionierende Lösung
PS: Wenn jemand an einem SingleSignOn interessiert ist, Azure AD oder ADFS hat, dann wäre ich bereit zu helfen. ich habe Anleitungen dazu wie man das mit simpleSAMLphp macht welches auf Github verfügbar ist.
Wenn man simpleSAMLphp verwendet, gibt es ein bekanntes Problem mit der Session. Diese schliesst alle Session die gestartet werden:
https://stackoverflow.com/questions/...-simplesamlphp
So sieht meine Index.php aus:
Code:
require_once (dirname(__FILE__) . '/simplesamlphp/lib/_autoload.php'); $as = new SimpleSAML_Auth_Simple('default-sp'); $as->requireAuth(); $attributes = $as->getAttributes(); $mail = $attributes['xyyy'][0]; $surname = $attributes['xyz'][0]; $givenname = $attributes['xxxy'][0]; $email = $attributes['xy'][0]; $session = SimpleSAML_Session::getSessionFromRequest(); $session->cleanup();
If we are using PHP sessions in SimpleSAMLphp and in the application we are protecting, SimpleSAMLphp will close any existing session when invoked for the first time, and its own session will prevail afterwards. If you want to restore your own session after calling SimpleSAMLphp, you can do so by cleaning up the session like this:
Code:
$session = SimpleSAML_Session::getSessionFromRequest(); $session->cleanup();
Code:
$_SESSION["name"] = $givenname; $_SESSION["vorname"] = $surname; $test = $_SESSION["name"]; $test1 = $_SESSION["vorname"]; echo $test; echo $test1;
Dann gibt es den Vor- und Nachnamen des eingeloggten Users aus.
Wenn ich dann auf meiner Logout.php ein session_start() mache und auf die Variablen zugreifen möchte:
Code:
session_start(); $test1 = $_SESSION["name"]; echo $test1;
Wieso kann ich die Sessionvariable auf anderen Seiten nicht abrufen? Ich weiss dass es funktionieren würde, wenn ich simplesamlphp nicht im Einsatz hätte aber es muss doch eine Lösung geben?
Ich habe viel recherchiert aber finde einfach keine funktionierende Lösung
PS: Wenn jemand an einem SingleSignOn interessiert ist, Azure AD oder ADFS hat, dann wäre ich bereit zu helfen. ich habe Anleitungen dazu wie man das mit simpleSAMLphp macht welches auf Github verfügbar ist.