예제 #1
0
파일: util.php 프로젝트: alakim/arundo
 static function getUserPermissions($ticket)
 {
     $sessions = ProviderFactory::getSessions('xmlData/');
     $userID = $sessions->getAuthorizedUser($ticket);
     if ($userID == null) {
         self::writeError('errAuthorizationRequired');
         die;
     }
     $userProvider = ProviderFactory::getUsers();
     return $userProvider->getUserPermissions($userID);
 }
예제 #2
0
파일: logon.php 프로젝트: alakim/arundo
function getUserHash()
{
    return md5(generateCode(10));
}
# Функция для генерации случайной строки
function generateCode($length = 6)
{
    $chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPRQSTUVWXYZ0123456789";
    $code = "";
    $clen = strlen($chars) - 1;
    while (strlen($code) < $length) {
        $code .= $chars[mt_rand(0, $clen)];
    }
    return $code;
}
$sessionProvider = ProviderFactory::getSessions(null);
if ($action == "logoff") {
    $sessionProvider->closeSession($ticket);
    $ticket = '';
} else {
    if ($action = "logon") {
        $userProvider = new XmlUsersDB();
        if ($userProvider->checkUser($usr, $psw)) {
            $ticket = getUserHash();
            $sessionProvider->setSession($usr, $ticket);
        }
    }
}
$_SESSION["ticket"] = $ticket;
$authorizedUser = $sessionProvider->getAuthorizedUser($ticket);
$userProvider = ProviderFactory::getUsers();