В системе Directum доступна возможность программной работы с пользователями. Она позволяет выполнять действия с пользователями, например, на службе обработки событий.
При программной работе с пользователями используйте:
• | методы компоненты; |
Примечания
1. При использовании методов выполняются действия с логинами SQL-сервера, поэтому пользователь, вызывающий методы, должен входить в роли БД db_securityadmin и db_owner, а также в роль SQL-сервера securityadmin. Если пользователь не обладает достаточными правами, при выполнении метода генерируется исключение.
2. Если методы выполняются на службе Workflow или службе обработки событий, эти роли должны быть назначены системному пользователю ISBuilderSystem.
• | константы для обращения к параметрам компоненты; |
• | реквизиты компоненты. |
Пример
FIRST_PASSWORD = 'Qwerty12345'
NEW_PASSWORD = '54321ytrewQ'
USER_LOGIN = 'User_Login'
USER_NAME = 'User Name'
USER_FULL_NAME = 'Full User Name'
PASSWORD_AUTH_CONST = 'По паролю'
Users = References.SYSREF_USERS.GetComponent
Users.Open
// Создать пользователя, если его нет в справочнике.
if not Users.Locate(SYSREQ_NAME; USER_FULL_NAME)
Users.Append
Users.Requisites(SYSREQ_CODE).Value = USER_NAME
Users.Requisites(SYSREQ_NAME).Value = USER_FULL_NAME
Users.Requisites(SYSREQ_TYPE).Value = 'П'
Users.SYSREQ_USERS_STATUS = SYSRES_CONST_USER_STATUS_USER_NAME
Users.SYSREQ_USERS_AUTHENTICATION = PASSWORD_AUTH_CONST
Users.SYSREQ_USERS_LOGIN = USER_LOGIN
Users.Save
endif
// Генерировать пользователя с генерацией пользователя БД и логина SQL-сервера.
Users.GenerateUser(TRUE; TRUE; FIRST_PASSWORD)
// Сменить пароль пользователя.
Users.ChangeUserPassword(NEW_PASSWORD)
// Удалить пользователя с удалением пользователя БД и логина SQL-сервера.
Users.DeleteUser(TRUE; TRUE)
Users.Close
© Компания Directum, 2020 | Сообщество пользователей Directum |