EGOCMS  18.0
EGOTEC Content-Managament-System
Auth Klassenreferenz

Öffentliche Methoden

 __construct ($force_login=false, $id='', $action='', $param=array())
 
 reset ()
 
 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 ()
 

Datenfelder

const LOGIN = 'login'
 
const LOGOUT = 'logout'
 
const ID = 'id'
 
const WEBDAV = 'webdav'
 
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 88 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 112 der Datei Auth.php.

Benutzt ID, LOGIN, Auth_Exception\LOGIN_REQUIRED, Auth_Exception\LOGIN_REQUIRED_TEXT, Auth_Exception\LOGIN_TIMED_OUT, Auth_Exception\LOGIN_TIMED_OUT_TEXT und LOGOUT.

Dokumentation der Elementfunktionen

◆ _getUser()

_getUser ( )
protected

Das zugehörige Benutzerobjekt erzeugen.

Rückgabe
User Das Benutzerobjekt.

Definiert in Zeile 1341 der Datei Auth.php.

◆ 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 1169 der Datei Auth.php.

◆ 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 924 der Datei Auth.php.

Benutzt Auth_Exception\PERMISSION_DENIED und Auth_Exception\PERMISSION_DENIED_TEXT.

◆ 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 892 der Datei Auth.php.

◆ clearCache()

clearCache ( )

Den Benutzercache leeren.

Definiert in Zeile 1148 der Datei Auth.php.

◆ clearTrashUsers()

clearTrashUsers ( )

Leert den Papierkorb für die Nutzerverwaltung

Rückgabe
string

Definiert in Zeile 262 der Datei Auth.php.

◆ getAllGroups()

getAllGroups ( )

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

Rückgabe
Group_Iterator

Definiert in Zeile 1309 der Datei Auth.php.

◆ getAllRoles()

getAllRoles ( )

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

Rückgabe
Role_Iterator

Definiert in Zeile 1325 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 548 der Datei Auth.php.

Benutzt Ego_System\getIp().

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

◆ getId()

getId ( )

Rückgabe der authentifizierten Benutzerid.

Rückgabe
string Benutzerid

Definiert in Zeile 538 der Datei Auth.php.

◆ 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";
}
Rückgabe
array Liefert alle verfügbaren Sprachen zurück.

Definiert in Zeile 949 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 602 der Datei Auth.php.

Benutzt NO_NULL_RIGHTS.

◆ getTrashUsers()

getTrashUsers ( )

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

Rückgabe
array

Definiert in Zeile 293 der Datei Auth.php.

◆ 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";
Parameter
string$user_idDie Benutzer Id.
Rückgabe
array Die Benutzerdaten.

Definiert in Zeile 993 der Datei Auth.php.

Wird benutzt von Page\getUser().

+ 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]]);
// 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 1069 der Datei Auth.php.

◆ 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 706 der Datei Auth.php.

◆ 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 785 der Datei Auth.php.

◆ 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 $_SESSION['login']['is_superuser'] prüfen
boolean$recalcsuperUserFlag neu setzen
Rückgabe
boolean true, wenn der Benutzer ein Superuser ist.

Definiert in Zeile 823 der Datei Auth.php.

◆ 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 865 der Datei Auth.php.

◆ isSoapUser()

isSoapUser ( )

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

EGOTEC intern!

Definiert in Zeile 841 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 1352 der Datei Auth.php.

Benutzt Ego_System\clearCacheAllSites().

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

◆ 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 1450 der Datei Auth.php.

Benutzt Ego_System\clearCacheAllSites().

+ 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 328 der Datei Auth.php.

Benutzt Ego_System\getIp(), Auth_Exception\LOGIN_DENIED, Auth_Exception\LOGIN_DENIED_TEXT, 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.

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

◆ reset()

reset ( )

Authentifizierung zurücksetzen.

Definiert in Zeile 173 der Datei Auth.php.

◆ 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 571 der Datei Auth.php.

◆ 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 222 der Datei Auth.php.

Benutzt Auth_Exception\WRONG_PASSWORD und Auth_Exception\WRONG_PASSWORD_TEXT.

Dokumentation der Datenelemente

◆ $_id

$_id = ''
protected

string

Die Benutzer ID.

Definiert in Zeile 96 der Datei Auth.php.

◆ $isEditable

$isEditable = true

boolean

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

Definiert in Zeile 102 der Datei Auth.php.

◆ $user

$user

User

Der zugehörige Benutzer.

Definiert in Zeile 97 der Datei Auth.php.

◆ ID

const ID = 'id'

string

Als Benutzer über die ID anmelden.

Definiert in Zeile 92 der Datei Auth.php.

Wird benutzt von __construct().

◆ LOGIN

const LOGIN = 'login'

string

Benutzer anmelden.

Definiert in Zeile 90 der Datei Auth.php.

Wird benutzt von __construct().

◆ LOGOUT

const LOGOUT = 'logout'

string

Benutzer abmelden.

Definiert in Zeile 91 der Datei Auth.php.

Wird benutzt von __construct().

◆ NO_NULL_RIGHTS

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

Definiert in Zeile 94 der Datei Auth.php.

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

◆ WEBDAV

const WEBDAV = 'webdav'

string

Webdav anmelden.

Definiert in Zeile 93 der Datei Auth.php.


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