Class isp api::Authen

Материал из ISPWiki
Перейти к: навигация, поиск

Авторизация пользователей

Класс isp_api::Authen

Класс для хранения информации о сессии

#include <auth.h> 

Описание:

class isp_api::Authen


Открытые типы (кратко)

typedef std::shared_ptr<Data> PrivateData

Открытые члены (кратко)

bool has_id () const

Присвоен ли данной сессии уникальный идентификатор


string id () const

Возвращает уникальный идентификатор сессии


string method () const

Возвращает имя метода авторизации


string ext ( const string &name )

Возвращает значение дополнительного поля


string real ( const string &name )

Возвращает значение из базовой сессии


void Drop () const

Удалить сессию

Группа методов для формирования информации о сессии

В большинстве случаев данные методы недоступны, т.к. разработчик имеет дело с константной версией этого объекта Это сделано потому, что один объект Authen может одновременно использоваться в нескольких потоках

Приватные члены (кратко)

Методы

bool has_id () const

Присвоен ли данной сессии уникальный идентификатор

Идентификатор присваивается сессии при вызове функции auth. Он сохраняется в COOKIE и используется для авторизации запросов. Для одноразовых сессий (это запросы приходящие через mgrctl или использующие authinfo для авторизации) идентификатор не присваивается.

string id () const

Возвращает уникальный идентификатор сессии

Если сессия не имела идентификатора, он будет ей присвоен. Информация о таких сессиях сохраняется на жестком диске. В случае отсутствия актвности, сессии с уникальным идентификатором живут в течении времени, установленного функцией SetAuthenLifeTime, или пока сессия не будет принудительно удалена

See also: SetAuthenLifeTime

string method () const

Возвращает имя метода авторизации

Одновременно может существовать несколько способов авторизации пользователей (классов AuthMethod). Данный метод возвращает имя класса (AuthMethod.name()) авторизовавшего эту сессию.

See also: AuthMethod

string ext ( const string &name )

Возвращает значение дополнительного поля

Помимо уровня доступа пользователя AuthMethod может возвращать дополнительную информацию, которая не используется панелью, но может быть использована разработчиком по своему усмотрению. Отдельные функции или модули COREmanager могут использовать некоторые имена дополнительных полей для внутренних целей. Например: HasDbAccess

Аргументы:
[name] имя дополнительного поля
Returned: Значение дополнительного поля или пустую строку, если поля с таким именем не существует
See also: HasDbAccess

string real ( const string &name )

Возвращает значение из базовой сессии

Метод позволяет получить значения возвращаемые методом ext базовой сессии на момент перехода (при помощи функции su). Кроме того, при name='name' возвращается имя пользователя, который действительно вошел в систему, при name='level' - его уровень доступа,

See also: ext

void Drop () const

Удалить сессию

Сессия помечается как удаленная. Реально она будет уделена, когда завершиться последний запрос, выполняющийся в рамках этой сессии

Типы

typedef std::shared_ptr<Data> PrivateData