Интерфейс управления пользователями

Перечисление UserStatus

enum UserStatus
{
    GUEST,
    ADMIN,
    REGULAR,
    MODERATOR,
    INACTIVE,
    SYSTEM
};

Статус пользователя

Структура DomainInfo

struct DomainInfo
{
    integer id;
    string domain;
    string contactName;
    string contactMail;
    integer regtime;
    string description;
};

Информация о домене пользователей

Структура GrantInfo

struct GrantInfo
{
    string privilege;
    integer object_id;
    UserInfo user;
};

Описание права

Структура PrivilegeInfo

struct PrivilegeInfo
{
    integer id;
    string name;
};

Описание привилегии

Структура UserInfo

struct UserInfo
{
    integer id;
    string login;
    string mail;
    UserStatus status;
    integer regtime;
    string avatar_url;
};

Информация о пользователе

Список GrantsList

Список элементов GrantInfo

Список прав

Список PrivilegeList

Список элементов PrivilegeInfo

Список привелегий

Список UserList

Список элементов UserInfo

Список пользователей

Функция CheckGrant

boolean CheckGrant(string privilege, integer object_id, integer user_id)

Проверить права пользователя

Данная функция проверяет обладает ли указаный пользователь указанным правом на данном объекте.

Примечание: чтобы проверять права других пользователей, текущий пользователь сам должен обладать правом check-grant на том же объекте.

Параметры

Возвращает: boolean - TRUE - пользователь обладает правом, FALSE - пользователь не обладает правом

Функция CreateDomain

DomainInfo CreateDomain(string domain, string contactName, string contactMail, string description)

Создать домен

Примечание: для создания домена нужно иметь административыне привилегии.

Параметры

Возвращает: DomainInfo - Описание созданого домена

Функция GetDomainInfo

DomainInfo GetDomainInfo(string domain)

Вернуть информацию о домене

Параметры

Возвращает: DomainInfo - Описание домена

Функция GetGrantsOn

GrantsList GetGrantsOn(string object_class, integer object_id, integer user_id)

Получить перечень прав пользователя

Данная функция возращает список привилегий пользователя по отношению к указаному объекту.

Примечание: чтобы проверять права других пользователей, текущий пользователь сам должен обладать правом check-grant на том же объекте.

Параметры

Возвращает: GrantsList - Перечень привелегий пользователя

Функция GetPrivileges

PrivilegeList GetPrivileges(string obj_class)

Вернуть список привелегий

Параметры

Возвращает: PrivilegeList -

Функция Grant

void Grant(string privilege, integer object_id, integer user_id)

Дать права пользователю

Примечание: чтобы раздавать права, текущий пользователь сам должен обладать правом grant на том же объекте.

Параметры

Функция RegisterDomainUser

UserInfo RegisterDomainUser(string domain, string realname, string login, string mail, string password)

Регистрация пользователя в домене

Данная функция позволяет регистрировать пользователя в домене. Для регистрации пользователя в домене нужно обладать правом domain:register для данного домена.

Примечание: в отличии от обычных функций регистрации, данная функция не требует активизации пользователя и подтверждения e-mail адреса. Владельцы доменов обязуются указывать реальные e-mail адреса и только с согласия их владельцев. Пользователи должны знать, что они могут получать различные уведомления от системы.

Пользователь зарегистрированный через функцию RegisterDomainUser обадает такими же правами и возможностями как и обычные пользователи. Данная функция вводиться лишь для того, чтобы владелцы проектов могли самостоятельно регистрировать в системе пользователей своих программ, чтобы предоставить им возможность пользоваться всеми услугами сервиса.

Параметры

Возвращает: UserInfo - Информация о зарегистрированном пользователе

Функция RegisterUser

UserInfo RegisterUser(string login, string password)

Регистрация пользователя

Параметры

Возвращает: UserInfo - Информация о зарегистрированном пользователе

Функция Revoke

void Revoke(string privilege, integer object_id, integer user_id)

Забрать права пользователю

Примечание: чтобы забирать права, текущий пользователь сам должен обладать правом revoke на том же объекте.

Параметры

Функция SetPassword

void SetPassword(integer user_id, string password)

Сменить пароль

Каждый пользователь может сменить свой пароль. Только администратор может менять пароль других пользователей.

Параметры

Функция UserByID

UserInfo UserByID(integer id)

Вернуть описание пользователя по его ID

Параметры

Возвращает: UserInfo - Описание пользователя

Функция UserByLogin

UserInfo UserByLogin(string login)

Вернуть описание пользователя по его логину

Параметры

Возвращает: UserInfo - Описание пользователя

Функция whoami

UserInfo whoami()

Вернуть информацию о текущем пользователе

Может использоваться для тестирования авторизации

Параметры

Возвращает: UserInfo - Описание текущего пользователя

Начало