wUserCur::createSessionStr

Erstellt eine öffentliche Benutzer-Session auf der Basis einer Benutzer-XML-Zeichenkette
(verfügbar mit dem Modul externe Benutzerschnittstelle (z.B. ActiveDirectory/LDAP))

Funktionsaufruf

Boolean createSessionStr(String userName, String userStr)

Parameter

userName
Benutzername
userStr
Benutzer als UTF-8 kodierte XML-Zeichenkette (Lizenzabhängig)
options
Optionen
fireEventOnBeforeLogin
Legt fest, ob vor dem Login das globale Ereignis gefeuert werden soll [0|1]
fireEventOnAfterLogin
Legt fest, ob nach dem Login das globale Ereignis gefeuert werden soll [0|1]

Beispiel: Erstellt eine Benutzersession, ohne dabei auf die Systembenutzer von Weblication zuzugreifen

Quelltext

<?php

include($_SERVER['DOCUMENT_ROOT'].'/weblication/grid.php');

/*

Dieses Beispielskript erstellt eine Benutzersession für einen öffentlichen Benutzer, ohne dabei auf die Systembenutzer von Weblication zuzugreifen.
Dies ist dann sinnvoll, wenn Sie eine externe vorhandene Benutzerverwaltung nutzen wollen und den darin bestehenden Benutzern die Möglichkeit geben wollen, sich in Weblication einzuloggen.
Die Authentifizierung findet in dem Fall im Fremdsystem statt.

*/

// Erstellt eine Benutzersession
createSession('mm', array('title' => 'mr', 'firstname' => 'Max', 'surname' => 'Mustermann', 'email' => 'max.mustermann@test.de'));

function
createSession($userName, $userData){
// Benutzerdaten als XML-Zeichenkette
$userStr = '<wUser xmlns:de="/de" xmlns:en="/en">
<title value="'
.$userData['title'].'"></title>
<firstname value="'
.$userData['firstname'].'"/>
<surname value="'
.$userData['surname'].'"/>
<type value="public"/>
<email value="'
.$userData['email'].'"/>
<language value="de"/>
<group name="partner" type="standard"/>
<group name="developer" type=""/>
<meta name="partei" value="parteilos"/>
</wUser>'
;

// Session auf Basis der zuvor definierten Benutzerdaten erstellen
$options = array('fireEventOnBeforeLogin' => 1, 'fireEventOnAfterLogin' => 1);
if(
wUserCur::createSessionStr('mm', $userStr, $options)){
return
true;
}
}

if(
wUserCur::getName() == ""){
print
"Sie sind nicht angemeldet!";
}
else{
print
"<p>Guten Tag ".wUserCur::getData('firstname')." ".wUserCur::getData('lastname')."</p>";

// Falls der Benutzer nicht im System existiert (Das kann dann der Fall sein, wenn eine Session über wUserCur::createSessionStr erstellt wurde.)
if(!wUserCur::isExistingUser()){
print
"<p>Sie sind temporär angemeldet als ".wUserCur::getName();
}
else{
print
"<p>Sie sind angemeldet als Benutzer ".wUserCur::getName();
}
$icon = "/weblication/grid5/gui/images/icon_small/logout.gif"; // Symbol der Schaltfläche
$caption = "Abmelden"; // Bezeichnung der Schaltfläche
$title = "Klicken Sie hier, um sich abzumelden"; // Titel der Schaltfläche
$attributes = array('redirect' => '/weblication'); // weitere Attribute
print "<br />";
print
'<script type="text/javascript" src="/weblication/grid5/gui/scripts/browseEdit.js"></script>';
print
wBrowseEdit::createButtonLogout($icon, $caption, $title, $attributes);
}

?>

Hinweis
Beim Einsatz von Framework-Funktionen in eigenen Skripten beachten Sie bitte den Artikel "So verwenden Sie das PHP-Framework in eigenen Scripten".
Wenn Sie eine Funktion innerhalb einer Weblication® Seite z.B. über das PHP-Quelltext Element oder in einem XSL-Template über wsl:php einbinden, muss das Framework über die grid.php nicht mehr referenziert werden.