Example #1
0
 public static function getByUsername($username)
 {
     // тут указывается таблица, где находиться реальный пользователь
     $sql = "SELECT * FROM users WHERE username = :username";
     $sth = $GLOBALS["DB"]->prepare($sql);
     $sth->execute(array(":username" => $username));
     $result = $sth->fetchAll();
     if (!empty($result)) {
         $privUser = new PrivilegedUser();
         $privUser->user_id = $result[0]["user_id"];
         $privUser->username = $username;
         $privUser->password = $result[0]["password"];
         $privUser->email_addr = $result[0]["email_addr"];
         $privUser->initRoles();
         return $privUser;
     } else {
         return false;
     }
 }
 function __construct($userId)
 {
     parent::__construct($userId);
 }
Example #3
0
Скрипт содержит в Role.php 

	Вытаскивает права самой роли 
	Определяет установленны ли права	
	Добавляет роль
	Удаляет роль 
	Добавляет роли для определенного пользователя
	Удаляет роли пользователей
	

Скрипт содержит в PrivelegedUser.php
	
	Вытаскаивает роли по пользователю
	Объеденяет определенные роли с их правами 
	Проверяет есть ли у пользователя указанные привелегии 
	Проверяет есть ли у пользователя указанные роли 
	Добавляет права 
	Удаляет права 
*/
if (isset($_SESSION["loggedin"])) {
    $u = PrivilegedUser::getByUsername($_SESSION["loggedin"]);
} else {
    die('you are not logged in');
}
$perms = "thisPermissions";
if ($u->hasPrivilege($perms)) {
    echo "You are logged with this permission " . $perms;
} else {
    echo "Forbiden with this permission access denied!";
}