EGOCMS  24.0
EGOTEC Content-Managament-System
Auth Klassenreferenz

Öffentliche Methoden

 __construct ($force_login=false, $id='', $action='', $param=array())
 
 reset ($remove_cookie=false)
 
 validate ($username, $password)
 
 clearTrashUsers ()
 
 getTrashUsers ()
 
 postValidate ()
 
 getId ()
 
 getAnonymousId ()
 
 translate ($string, $placeholders=array(), $language=null)
 
 getPageTableQuery ($page_table, $rights, $query=array(), $param=array())
 
 hasPermission ($group, $role='', $flag=false, $user_id=false, $equal=true)
 
 hasPermissionOn ($object, $equal=true)
 
 hasSuperuserPermission ($session=true, $recalc=false)
 
 isSoapUser ()
 
 isNobody ()
 
 checkSuperuserPermission ()
 
 checkPermission ($group, $role='', $flag=false)
 
 clearCache ()
 
 getAllGroups ()
 
 getAllRoles ()
 

Öffentliche, statische Methoden

static getLanguages ()
 
static getUserRecord ($user_id)
 
static getUsers ($rights, $users=array(), $direct_flag=false)
 
static checkPassword ($pwd, $name=0, $return_text=false)
 
static makeFlat ($id)
 
static makeFlatSuperusers ()
 
static getFirstSuperuser ()
 
static setAuthPersist (User_SQL $user)
 

Datenfelder

const LOGIN = 'login'
 
const LOGOUT = 'logout'
 
const ID = 'id'
 
const LOSTPW = 'lostpw'
 
const RESETPW = 'resetpw'
 
const WEBDAV = 'webdav'
 
const TWO_FACTOR_AUTH = 'tfa'
 
const NO_NULL_RIGHTS = ',child,edit,release,remove,view,workflow,live,linkto,'
 
 $user
 
 $isEditable = true
 

Geschützte Methoden

 _getUser ()
 

Geschützte Attribute

 $_id = ''
 

Ausführliche Beschreibung

Authentifizierung

Benutzerauthentifizierung und Rechtevergabe über egotec_user_group

$Id$

Definiert in Zeile 120 der Datei Auth.php.

Beschreibung der Konstruktoren und Destruktoren

◆ __construct()

__construct (   $force_login = false,
  $id = '',
  $action = '',
  $param = array() 
)

Der Konstruktor führt bei Bedarf einen Login durch.

Parameter
boolean$force_loginEin Login ist erforderlich.
string$idDie Id des Benutzers.
string$actionAktion, z.B. login oder logout.
array$paramWeitere Parameter wie Benutzername (username) und Passwort (password).

Definiert in Zeile 147 der Datei Auth.php.

Benutzt $_id, _getUser(), clearCache(), ID, Auth_Exception\INVALID_NEW_PASSWORD, Auth_Exception\INVALID_NEW_PASSWORD_TEXT, LOGIN, Auth_Exception\LOGIN_REQUIRED, Auth_Exception\LOGIN_REQUIRED_TEXT, Auth_Exception\LOGIN_TIMED_OUT, Auth_Exception\LOGIN_TIMED_OUT_TEXT, LOGOUT, Auth_Exception\PASSWORD_CHANGED, Auth_Exception\PASSWORD_CHANGED_TEXT, postValidate(), reset(), setAuthPersist(), Auth_Exception\TWO_FACTOR_AUTH_ERROR, Auth_Exception\TWO_FACTOR_AUTH_ERROR_TEXT, Auth_Exception\TWO_FACTOR_AUTH_SETUP, Auth_Exception\TWO_FACTOR_AUTH_SETUP_TEXT, Auth_Exception\TWO_FACTOR_AUTH_VERIFY, Auth_Exception\TWO_FACTOR_AUTH_VERIFY_TEXT und validate().

+ Hier ist ein Graph, der zeigt, was diese Funktion aufruft:

Dokumentation der Elementfunktionen

◆ _getUser()

_getUser ( )
protected

Das zugehörige Benutzerobjekt erzeugen.

Rückgabe
User Das Benutzerobjekt.

Definiert in Zeile 1584 der Datei Auth.php.

Wird benutzt von __construct() und validate().

+ Hier ist ein Graph der zeigt, wo diese Funktion aufgerufen wird:

◆ checkPassword()

static checkPassword (   $pwd,
  $name = 0,
  $return_text = false 
)
static

Diese Methode überprüft, ob das gegebene Passwort den Richtlinien, die in den Globalen Einstellungen einstellbar sind, besteht.

Parameter
String$pwdDas Passwort, das geprüft werden soll
String$nameName des Accounts, wenn nicht angegeben wird nicht geprüft, ob das Passwort Zeichen aus dem namen enthält
boolean$return_textDie Fehler bereits als Text zurückliefern
Rückgabe
mixed Wenn es besteht, dann true, ansonsten ein Array mit der Auflistung, welche Richtlinien das Passwort nicht besteht

Definiert in Zeile 1307 der Datei Auth.php.

Benutzt translate().

+ Hier ist ein Graph, der zeigt, was diese Funktion aufruft:

◆ checkPermission()

checkPermission (   $group,
  $role = '',
  $flag = false 
)

Es wird geprüft, ob ein Benutzer Mitglied der Gruppe/Rolle ist. Ist das nicht der Fall, dann wird die Ausnahme Auth::PERMISSION_DENIED erzeugt.

// Beispiel:
// $auth ist das Objekt das die Authentifizierungsdaten enthält.
$group_id = 'fe38fca425cefabf629b5a52c6e7a3b7';
try
{
$auth->checkPermission( $group_id );
} catch( Auth_Exception $ex )
{
if( $ex->getCode() === Auth_Excpetion::PERMISSION_DENIED )
{
echo $auth->user->field['username'] . " hat keine Rechte!\n";
}
}
Ausnahmebehandlung
Auth::PERMISSION_DENIED
Parameter
string$groupGruppen ID / array(group=>, role=>, flag=>)
string$roleRollen ID
boolean$flagMit Untergruppen prüfen.
Rückgabe
boolean true, wenn der Benutzer die Berechtigung besitzt.

Definiert in Zeile 1066 der Datei Auth.php.

Benutzt hasPermission(), Auth_Exception\PERMISSION_DENIED und Auth_Exception\PERMISSION_DENIED_TEXT.

Wird benutzt von checkSuperuserPermission().

+ Hier ist ein Graph, der zeigt, was diese Funktion aufruft:
+ Hier ist ein Graph der zeigt, wo diese Funktion aufgerufen wird:

◆ checkSuperuserPermission()

checkSuperuserPermission ( )

Prüft, ob ein Benutzer Superuserrechte besitzt.

// Beispiel:
// $auth ist das Objekt das die Authentifizierungsdaten enthält.
try
{
$auth->checkSuperuserPermission();
} catch( Auth_Exception $ex )
{
if( $ex->getCode() === Auth_Excpetion::PERMISSION_DENIED )
{
echo $auth->user->field['username'] . " ist kein Superuser!\n";
}
}
Ausnahmebehandlung
Auth_Exception::PERMISSION_DENIED
Rückgabe
boolean true, wenn der Benutzer Superuser ist.

Definiert in Zeile 1034 der Datei Auth.php.

Benutzt checkPermission().

+ Hier ist ein Graph, der zeigt, was diese Funktion aufruft:

◆ clearCache()

clearCache ( )

Den Benutzercache leeren.

Definiert in Zeile 1290 der Datei Auth.php.

Benutzt $_id und Ego_System\deldir().

Wird benutzt von __construct() und reset().

+ Hier ist ein Graph, der zeigt, was diese Funktion aufruft:
+ Hier ist ein Graph der zeigt, wo diese Funktion aufgerufen wird:

◆ clearTrashUsers()

clearTrashUsers ( )

Leert den Papierkorb für die Nutzerverwaltung

Rückgabe
string

Definiert in Zeile 410 der Datei Auth.php.

Benutzt $user, getTrashUsers() und translate().

+ Hier ist ein Graph, der zeigt, was diese Funktion aufruft:

◆ getAllGroups()

getAllGroups ( )

Liefert einem alle zur Verfügung stehenden Gruppen zurück

Rückgabe
Group_Iterator

Definiert in Zeile 1552 der Datei Auth.php.

◆ getAllRoles()

getAllRoles ( )

Liefert einem alle zur Verfügung stehenden Rollen zurück

Rückgabe
Role_Iterator

Definiert in Zeile 1568 der Datei Auth.php.

◆ getAnonymousId()

getAnonymousId ( )

Bei einem anonymen Benutzer wird eine Kombination aus remote_addr und user_agent gespeichert #93240

Rückgabe
string

Definiert in Zeile 680 der Datei Auth.php.

Benutzt Ego_System\getIp().

+ Hier ist ein Graph, der zeigt, was diese Funktion aufruft:

◆ getFirstSuperuser()

static getFirstSuperuser ( )
static

Einen Superuser ermitteln (der auch in den Adminbereich darf)

Rückgabe
User_SQL

Definiert in Zeile 1717 der Datei Auth.php.

Benutzt $user.

◆ getId()

getId ( )

Rückgabe der authentifizierten Benutzerid.

Rückgabe
string Benutzerid

Definiert in Zeile 670 der Datei Auth.php.

Benutzt $_id.

◆ getLanguages()

static getLanguages ( )
static

Alle verfügbaren Sprachen im Adminbereich auflisten.

// $auth ist das Objekt das die Authentifizierungsdaten enthält.
$sprachen = Auth::getLanguages();
foreach( $sprachen as $sprache )
{
echo "Sprache '$sprache' ist verfügbar.\n";
}
static getLanguages()
Definition: Auth.php:1091
Rückgabe
array Liefert alle verfügbaren Sprachen zurück.

Definiert in Zeile 1091 der Datei Auth.php.

Benutzt Ego_System\file_exists().

+ Hier ist ein Graph, der zeigt, was diese Funktion aufruft:

◆ getPageTableQuery()

getPageTableQuery (   $page_table,
  $rights,
  $query = array(),
  $param = array() 
)

Query Array für eine Seitenanfrage erweiterm.

Nur eine flache Rechteprüfung durchführen.

Parameter
$page_tableString Tabellenname
$rightsArray Eine Liste der Rechte, auf die geprüft werden soll (oder).
$queryArray Die bisherige Abfrage.
$paramArray
  • auth_or Die Bedingungen, die eine Seite erfüllen muss, damit sie trotz fehlender Rechte ausgegeben wird.
  • user_id Benutzer ID
Rückgabe
Array Die erweiterte Abfrage.

Definiert in Zeile 734 der Datei Auth.php.

Benutzt $_id, hasSuperuserPermission(), makeFlat() und NO_NULL_RIGHTS.

+ Hier ist ein Graph, der zeigt, was diese Funktion aufruft:

◆ getTrashUsers()

getTrashUsers ( )

Alle Benutzer im Papierkorb ermitteln, für die man selbst Rechte besitzt

Rückgabe
array

Definiert in Zeile 425 der Datei Auth.php.

Benutzt $user, hasPermission() und hasSuperuserPermission().

Wird benutzt von clearTrashUsers().

+ Hier ist ein Graph, der zeigt, was diese Funktion aufruft:
+ Hier ist ein Graph der zeigt, wo diese Funktion aufgerufen wird:

◆ getUserRecord()

static getUserRecord (   $user_id)
static

Benutzerdaten erfragen.

// Beispiel:
// Hier werden die Benutzerdaten von dem Benutzer ausgelesen der die Seite
// $page erstellt hat.
$user_id = $page->field['a_user'];
$benutzer_daten = Auth::getUserRecord( $user_id );
echo "Ersteller der Seite (". $page->field['name'] ."): " . $benutzer_daten['username'] . "\n";
static getUserRecord($user_id)
Definition: Auth.php:1135
Parameter
string$user_idDie Benutzer Id.
Rückgabe
array Die Benutzerdaten.

Definiert in Zeile 1135 der Datei Auth.php.

Benutzt $user und translate().

Wird benutzt von Page\getUser().

+ Hier ist ein Graph, der zeigt, was diese Funktion aufruft:
+ Hier ist ein Graph der zeigt, wo diese Funktion aufgerufen wird:

◆ getUsers()

static getUsers (   $rights,
  $users = array(),
  $direct_flag = false 
)
static

Gibt die Benutzer, die die entsprechenden Rechte besitzen, zurück.

// Synopsis:
$rights = array(
0 => array(
'group_id' => 'group_id1',
'role_id' => 'role_id1',
),
1 => array(
'group_id' => 'group_id2',
'role_id' => 'role_id2'
)
);
$allowed_users = array('user_id1', 'user_id2', ...);
$direct = true; // Nur die Benutzer zurückliefern die DIREKT in den in $rights definierten Gruppen und Rollen enthalten sind.
$direct = false; // Auch die Benutzer zurückliefern die NICHT DIREKT in den in $rights definierten Gruppen und Rollen enthalten sind (durch vererbung).
$benutzer_iter = Auth::getUsers($rights, [$allowed_users, [$direct]]);
static getUsers($rights, $users=array(), $direct_flag=false)
Definition: Auth.php:1211
// Beispiel:
$rights = array(
0 => array(
'group_id' => 'group_id1',
'role_id' => 'role_id1',
),
1 => array(
'group_id' => 'group_id2',
'role_id' => 'role_id2'
)
);
$benutzer_iter = Auth::getUsers( $rights );
foreach( $benutzer_iter as $benutzer )
{
echo "Der Benutzer " . $benutzer->field['username'] . " hat das Recht!\n";
}
Parameter
array$rightsEine Liste der Gruppen/Rollen ([]['group_id']/[]['role_id']).
array$usersEine Liste der erlaubten Benutzer.
boolean$direct_flagFalls wahr, dann werden nur Benutzer angezeigt, die direkt den Gruppen/Rollen Beziehungen zugeordnet sind.
Rückgabe
User_Iterator Die Benutzer mit den entsprechenden Rechten.

Definiert in Zeile 1211 der Datei Auth.php.

Benutzt $user.

◆ hasPermission()

hasPermission (   $group,
  $role = '',
  $flag = false,
  $user_id = false,
  $equal = true 
)

Prüft, ob ein Benutzer Mitglied der Gruppe/Rolle ist

// Synopsis:
// $auth ist das Objekt das die Authentifizierungsdaten enthält.
$flag = true; // Mit Untergruppen Prüfen
$flag = false; // Ohne Untergruppen Prüfen
$auth->hasPermission($group_id [, $role_id[, $flag[, $user_id]]]);
// Beispiel:
$group_id = 'fe38fca425cefabf629b5a52c6e7a3b7';
if( $auth->hasPermission($group_id) === true )
{
echo "Der Benutzer hat das Recht auf Objekte die der Gruppe '$group_id' zugeordnet sind!\n";
}
Parameter
string$groupGruppen ID / array(group=>, role=>, flag=>)
string$roleRollen ID
boolean$flagMit Untergruppen prüfen.
string$user_idDie ID des zu prüfenden Benutzers
Rückgabe
boolean true, wenn der Benutzer die Berechtigung besitzt.

Definiert in Zeile 839 der Datei Auth.php.

Benutzt $_id.

Wird benutzt von checkPermission(), getTrashUsers(), hasPermissionOn() und hasSuperuserPermission().

+ Hier ist ein Graph der zeigt, wo diese Funktion aufgerufen wird:

◆ hasPermissionOn()

hasPermissionOn (   $object,
  $equal = true 
)

Prüfen, ob der aktuelle Benutzer Rechte für einen Benutzer/Gruppe/Rolle besitzt

Parameter
User_SQL | Group_SQL | Role_SQL$object
boolean$equal
Rückgabe
boolean

Definiert in Zeile 918 der Datei Auth.php.

Benutzt hasPermission().

+ Hier ist ein Graph, der zeigt, was diese Funktion aufruft:

◆ hasSuperuserPermission()

hasSuperuserPermission (   $session = true,
  $recalc = false 
)

Prüft, ob ein Benutzer Superuserrechte besitzt.

// Beispiel:
// $auth ist das Objekt das die Authentifizierungsdaten enthält.
if( $auth->hasSuperuserPermission() === true )
{
echo "Der Benutzer ist ein Superuser!\n";
}
Parameter
boolean$sessionAuch nach $_COOKIE[EGOTEC_SU] prüfen
boolean$recalcsuperUserFlag neu setzen
Rückgabe
boolean true, wenn der Benutzer ein Superuser ist.

Definiert in Zeile 956 der Datei Auth.php.

Benutzt hasPermission().

Wird benutzt von getPageTableQuery() und getTrashUsers().

+ Hier ist ein Graph, der zeigt, was diese Funktion aufruft:
+ Hier ist ein Graph der zeigt, wo diese Funktion aufgerufen wird:

◆ isNobody()

isNobody ( )

Prüft, ob ein Benutzer angemeldet ist.

// Beispiel:
// $auth ist das Objekt das die Authentifizierungsdaten enthält.
if( $auth->isNobody() === true )
{
echo "Der Benutzer ist nicht angemeldet!\n";
}
Rückgabe
boolean true, wenn der Benutzer nicht angemeldet ist.

Definiert in Zeile 1007 der Datei Auth.php.

◆ isSoapUser()

isSoapUser ( )

Prüft, ob ein Benutzer SOAP-User ist.

EGOTEC intern!

Definiert in Zeile 983 der Datei Auth.php.

◆ makeFlat()

static makeFlat (   $id)
static

Die Tabelle mit der flachen Rechteprüfung mit den Berechtigungen des Benutzers füttern

Parameter
$iduser_id

Die bisherigen Berechtigungen auslesen und merken

neue Berechtigungen eintragen, wenn noch nicht vorhaden

Die bisherigen Berechtigungen die es nun nicht mehr gibt entfernen

Definiert in Zeile 1595 der Datei Auth.php.

Benutzt Ego_System\clearCacheAllSites().

Wird benutzt von getPageTableQuery(), makeFlatSuperusers() und postValidate().

+ Hier ist ein Graph, der zeigt, was diese Funktion aufruft:
+ Hier ist ein Graph der zeigt, wo diese Funktion aufgerufen wird:

◆ makeFlatSuperusers()

static makeFlatSuperusers ( )
static

Die Berechtigungen für alle Superuser neu in die "_flat" Tabelle speichern. Da Superuser implizit alle Berechtigungen haben, müssen die Rechte nach dem Anlegen einer neuen Gruppe oder Rolle aktualisiert werden, damit angemeldete Superuser neue Berechtigungen sofort haben.

Rückgabe
void

Definiert in Zeile 1698 der Datei Auth.php.

Benutzt $user, Ego_System\clearCacheAllSites() und makeFlat().

+ Hier ist ein Graph, der zeigt, was diese Funktion aufruft:

◆ postValidate()

postValidate ( )

Zusätzlich zu Benutzername und Passwort kann noch auf IP Bereich des Zugriffs, Zugriffszeit usw. getestet werden.

der ip check && zeit check daten kommen aus der descr der gruppe und dem Benutzer Benutzer einstellungen haben vorrang

Autor
johannes

Definiert in Zeile 460 der Datei Auth.php.

Benutzt $_id, Ego_System\getIp(), Auth_Exception\LOGIN_DENIED, Auth_Exception\LOGIN_DENIED_TEXT, makeFlat(), Auth_Exception\WRONG_IP, Auth_Exception\WRONG_IP_TEXT, Auth_Exception\WRONG_PASSWORD, Auth_Exception\WRONG_PASSWORD_TEXT, Auth_Exception\WRONG_TIME und Auth_Exception\WRONG_TIME_TEXT.

Wird benutzt von __construct().

+ Hier ist ein Graph, der zeigt, was diese Funktion aufruft:
+ Hier ist ein Graph der zeigt, wo diese Funktion aufgerufen wird:

◆ reset()

reset (   $remove_cookie = false)

Authentifizierung zurücksetzen.

Parameter
boolean$remove_cookieDie aktuelle Session ID löschen

Definiert in Zeile 299 der Datei Auth.php.

Benutzt clearCache() und Ego_System\removeCookie().

Wird benutzt von __construct().

+ Hier ist ein Graph, der zeigt, was diese Funktion aufruft:
+ Hier ist ein Graph der zeigt, wo diese Funktion aufgerufen wird:

◆ setAuthPersist()

static setAuthPersist ( User_SQL  $user)
static

Token und Ablaufdatum für einen Benutzer setzen

Parameter
User_SQL$user
Rückgabe
void

Definiert in Zeile 1740 der Datei Auth.php.

Benutzt $user und Ego_System\setCookie().

Wird benutzt von __construct().

+ Hier ist ein Graph, der zeigt, was diese Funktion aufruft:
+ Hier ist ein Graph der zeigt, wo diese Funktion aufgerufen wird:

◆ translate()

translate (   $string,
  $placeholders = array(),
  $language = null 
)

Übersetzt einen String in die Sprache des Benutzers. Es wird auf das entsprechende Smarty-Plugin zurückgegriffen.

// Beispiel:
// $auth ist das Objekt das die Authentifizierungsdaten enthält.
$to_translate = 'login';
echo $auth->translate( $to_translate );
Parameter
string$stringDer Originaltext.
array$placeholdersPlatzhalter (beginnen immer mit %).
string$languageIn diese Sprache übersetzen.
Rückgabe
string Die Übersetzung.

Definiert in Zeile 703 der Datei Auth.php.

Wird benutzt von checkPassword(), clearTrashUsers() und getUserRecord().

+ Hier ist ein Graph der zeigt, wo diese Funktion aufgerufen wird:

◆ validate()

validate (   $username,
  $password 
)

Hier werden zusätzliche Bedingungen überprüft.

Die Überprüfung des Benutzernamens und Passworts erfolgt in abgeleiteten Klassen. Hier wird getestet, ob der Benutzer sich auf einem Liveserver anmelden darf, falls das aktuelle System ein Liveserver ist.

// Beispiel:
// $auth ist das Objekt das die Authentifizierungsdaten enthält.
if( $auth->validate($username, $password) )
{
echo "Der Benutzer $username mit dem Passwort $password hat sich erfolgreich angemeldet!\n";
}
Ausnahmebehandlung
Auth_Exception
Parameter
$usernamestring Benutzername.
$passwordstring Passwort.
Rückgabe
string Die Benutzer ID.

Definiert in Zeile 356 der Datei Auth.php.

Benutzt _getUser(), Auth_Exception\WRONG_PASSWORD und Auth_Exception\WRONG_PASSWORD_TEXT.

Wird benutzt von __construct().

+ Hier ist ein Graph, der zeigt, was diese Funktion aufruft:
+ Hier ist ein Graph der zeigt, wo diese Funktion aufgerufen wird:

Dokumentation der Felder

◆ $_id

$_id = ''
protected

string

Die Benutzer ID.

Definiert in Zeile 131 der Datei Auth.php.

Wird benutzt von __construct(), clearCache(), getId(), getPageTableQuery(), hasPermission() und postValidate().

◆ $isEditable

$isEditable = true

boolean

Gibt an, ob die Benutzer über die EGOTEC-Verwaltung bearbeitbar sind.

Definiert in Zeile 137 der Datei Auth.php.

◆ $user

$user

User

Der zugehörige Benutzer.

Definiert in Zeile 132 der Datei Auth.php.

Wird benutzt von clearTrashUsers(), getFirstSuperuser(), getTrashUsers(), getUserRecord(), getUsers(), makeFlatSuperusers() und setAuthPersist().

◆ ID

const ID = 'id'

string

Als Benutzer über die ID anmelden.

Definiert in Zeile 124 der Datei Auth.php.

Wird benutzt von __construct().

◆ LOGIN

const LOGIN = 'login'

string

Benutzer anmelden.

Definiert in Zeile 122 der Datei Auth.php.

Wird benutzt von __construct().

◆ LOGOUT

const LOGOUT = 'logout'

string

Benutzer abmelden.

Definiert in Zeile 123 der Datei Auth.php.

Wird benutzt von __construct().

◆ LOSTPW

const LOSTPW = 'lostpw'

string

Passwort vergessen.

Definiert in Zeile 125 der Datei Auth.php.

◆ NO_NULL_RIGHTS

const NO_NULL_RIGHTS = ',child,edit,release,remove,view,workflow,live,linkto,'

Definiert in Zeile 129 der Datei Auth.php.

Wird benutzt von Site\createSite() und getPageTableQuery().

◆ RESETPW

const RESETPW = 'resetpw'

string

Passwort zurücksetzen.

Definiert in Zeile 126 der Datei Auth.php.

◆ TWO_FACTOR_AUTH

const TWO_FACTOR_AUTH = 'tfa'

string

tFA verwenden.

Definiert in Zeile 128 der Datei Auth.php.

◆ WEBDAV

const WEBDAV = 'webdav'

string

Webdav anmelden.

Definiert in Zeile 127 der Datei Auth.php.


Die Dokumentation für diese Klasse wurde erzeugt aufgrund der Datei: