Сессии

Материал из ISPWiki

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

Сессия manager - уникальный номер, используемый для авторизации запросов. Каждая сессия привязана к конкретному пользователю и IP адресу. Сессии хранятся в течении часа с момента последнего запроса (точнее 60-64 минуты). По истечении этого времени они удаляются. Для того, чтобы сессии не терялись при перезапуске manager, они сохраняются в файл var/.<manager>.ses, где <manager> - имя manager (имя бинарного файла из каталога bin/).

Структура файла .<manager>.ses

const int MaxUserLength = 64;                  ///< максимальная длинна имени пользователя
const int MaxFuncLength = 32;                  ///< максимальная длинна имени функции manager
const int MaxSuDeep = 3;                       ///< максимальная глубина (количество переходов в другого пользователя)
 
struct AuthSes {
        int auth;                              ///< номер сессии
        char method[4];                        ///< метод авторизации 
        char ip[40];                           ///< IP адрес, с которого принимать запросы для этой сессии
        char user[MaxUserLength];              ///< текущее имя пользователя
#ifdef Windows
        char pass[MaxUserLength];              ///< пароль пользователя
#endif
        SesLevel level;                        ///< уровень доступа
        time_t atime;                          ///< время последнего запроса
        char suser[MaxUserLength*MaxSuDeep];   ///< предыдущие имена пользователя
        char sfunc[MaxFuncLength*MaxSuDeep];   ///< функции из которых был совершен переход
#ifdef ISPMGR
        bool allowrestart;                     ///< разрешено ли этому пользователю вызывать функцию restart для перезапуска apache
#ifndef Windows
        uid_t uid;                             ///< текущий Uid пользователя
        gid_t gid;                             ///< текущий Gid пользователя
#endif
#endif
#ifdef BILLMGR
        int account;                           ///<
#endif
        int p_cnt;                             ///< количество строк на страницу
} __attribute__((__packed__));
Была ли эта информация полезной? Да | Нет
Личные инструменты