10. Подсистема "Безопасность" (TSeсurity)
Подсистема безопасности представлена объектом который содержит объекты групп TGroup и пользователей TUser.
Объект пользователя TUser содержит пользовательскую информацию и выполняет проверку аутентичности пользователя в соответствии с указанным паролем.
Объект пользователя TGroup содержит информацию о группе пользователей и выполняет проверку на принадлежность пользователя к группе.
10.1. Объект подсистемы "Безопасность" (TSeсurity)
Публичные данные:
- static const string pHashMagic; — Строка-указатель (префикс) пароля в хеше.
Публичные методы:
- bool access( const string &user, char mode, int owner, int groups, int access ); — Проверка доступа для пользователя user в режиме mode к ресурсу с владельцем owner, группами groups (разделитель ',') и правами access.
- void usrList( vector<string> &list ) const; — Список пользователей list.
- void usrGrpList( const string &name, vector<string> &list ); — Список групп пользователей list, в которые пользователь name включён.
- bool usrPresent( const string &name ) const; — Проверка на наличие указанного пользователя name.
- int usrAdd( const string &name, const string &db = "*.*" ); — Добавление пользователя name с хранением в БД db.
- void usrDel( const string &name, bool complete = false ); — Удаление пользователя name с возможностью полного удаления complete.
- AutoHD<TUser> usrAt( const string &name ) const; — Подключение к пользователю name.
- void grpList( vector<string> &list ) const; — Список групп пользователей list.
- bool grpPresent( const string &name ) const; — Проверка на наличие указанной группы пользователей name.
- int grpAdd( const string &name, const string &db = "*.*" ); — Добавление группы пользователей name с хранением в БД db.
- void grpDel( const string &name, bool complete = false ); — Удаление группы пользователей name с возможностью полного удаления complete.
- AutoHD<TGroup> grpAt( const string &name ) const; — Подключение к группе пользователей name.
10.2. Объект пользователя (TUser)
Наследует: | TCntrNode, TConfig. |
Публичные методы:
- TUser( const string &name, const string &db, TElem *el ); — Инициализирующий конструктор.
- string name( ); — Имя пользователя.
- string descr( ); — Описание пользователя.
- string longDescr( ); — Длинное описание пользователя.
- string picture( ); — Изображение пользователя.
- string lang( ); — Язык пользователя, только в режиме динамической трансляции текстовых переменных.
- bool sysItem( ); — Признак системного пользователя.
- bool auth( const string &pass, string *hash = NULL ); — Проверка аутентичности пользователя по паролю pass. Хеш пароля, если поддерживается, помещается в hash.
- string DB( ); — Адрес БД пользователя.
- string tbl( ); — Адрес таблицы БД пользователя.
- string fullDB( ); — Полное имя таблицы БД пользователя.
- void setDescr( const string &vl ); — Установка описания пользователя в vl.
- void setLongDescr( const string &vl ); — Установка длинного описания пользователя в vl.
- void setPicture( const string &pct ); — Установка изображения пользователя в pct.
- void setLang( const string &vl ); — Установка языка пользователя в vl.
- void setPass( const string &pass ); — Установка пароля пользователя в pass.
- void setSysItem( bool vl ); — Установка признака системного пользователя в vl.
- void setDB( const string &vl ); — Установка адреса БД пользователя.
- TSeсurity &owner( ) const; — Подсистема "Безопасность" - владелец пользователя.
10.3. Объект группы пользователей (TGroup)
Наследует: | TCntrNode, TConfig. |
Публичные методы:
- TGroup( const string &name, const string &db, TElem *el ); — Инициализирующий конструктор.
- string name( ); — Имя группы пользователей.
- string descr( ); — Описание группы пользователей.
- string longDescr( ); — Длинное описание группы пользователей.
- bool sysItem( ); — Признак системной группы пользователей.
- string DB( ); — Адрес БД группы пользователей.
- string tbl( ); — Адрес таблицы БД группы пользователей.
- string fullDB( ); — Полное имя таблицы БД группы пользователей.
- void setDescr( const string &vl ); — Установка описания группы пользователей в vl.
- void setLongDescr( const string &vl ); — Установка длинного описания группы пользователей в vl.
- void setSysItem( bool vl ); — Установка признака системной группы пользователей в vl.
- void setDB( const string &vl ); — Установка адреса БД группы пользователей.
- bool user( const string &name ); — Проверка на принадлежность пользователя к группе name.
- void userAdd( const string &name ); — Добавление пользователя name в группу.
- void userDel( const string &name ); — Удаление пользователя name из группы.
- TSeсurity &owner( ) const; — Подсистема "Безопасность" - владелец группы пользователей.