Difference between revisions of "UserCredentialsLock"
1>Admin |
m (1 revision imported) |
(No difference)
|
Latest revision as of 11:42, 3 January 2024
UserCredentialsLock (Административные функции) | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Функция временно блокирует доступ к редактору учетных записей пользователей (для подготовки к изменениям). Для исполнения функции необходимо наличие административных прав. Внимание: после функции должен следовать блок <Try> ... <Finally><EndTry>
для гарантированного вызова функции разблокировки UserCredentialsUnlock. Если доступ уже был заблокирован ранее, функция возвращает имя пользователя, машины и время, когда он был заблокирован.
Синтаксис
UserCredentialsLock(<Заблокировано пользователем (STRING)>,<Заблокировано на машине (STRING)>,<Время блокировки (DATE)>):<0 или 1 (INT)>
Аргументы
<Заблокировано пользователем (STRING)>
- (необязательный аргумент)(возможен аргумент-переменная (ByRef)) Аргумент-переменная возвращает имя пользователя, заблокировавшего доступ к учетным данным. Переменная будет заполнена только если функция возвратит 0.<Заблокировано на машине (STRING)>
- (необязательный аргумент)(возможен аргумент-переменная (ByRef)) Аргумент-переменная возвращает имя компьютера, на котором был заблокирован доступ к учетным данным. Переменная будет заполнена только если функция возвратит 0.<Время блокировки (DATE)>
- (необязательный аргумент)(возможен аргумент-переменная (ByRef)) Аргумент-переменная возвращает дату и время начала блокировки доступа к учетным данным. Переменная будет заполнена только если функция возвратит 0.
Возвращаемое значение
Возвращает 1 в случае успешной установки блокировки, иначе возвращает 0.
Примеры
//Фрагмент блокирует доступ пользователя Нарушитель2" к серверу базы данных. бПольз:="Нарушитель2"; аПольз:=""; аМаш:=""; аВремя:=0; If not UserCredentialsLock(аПольз,аМаш,аВремя) Then Message("Учетные записи заблокированы администратором "+аПольз+" на компьютере "+аМаш+" в "+FormatDate(аВремя,"DD.mm.YYYY hh:tt:ss")+"!","!"); Exit; EndIf; Try Стр:=UserCredentialsLoad; //Загрузка файла учетных записей в объект Ini-файла aIni:=Ini.Create(); If aIni.AddFromString(Стр) Then If not aIni.DoesExist(бПольз+"\") Then Message("Пользователь "+бПольз+" не зарегистрирован на сервере!","!"); ElseIf Number(aIni.GetData(бПольз+"\ifDisabled","0"))<>0 Then Message("Пользователь "+бПольз+" уже был заблокирован!","I"); Else //Добавим или обновим переменную ifDisabled. aIni.AddLeaf(бПольз+"\ifDisabled","1"); Стр:=aIni.StoreToString(""); //Удалить все комментарии (необязательный шаг) Стр:=ReplaceRE(Стр,"^;.*\R",""); //Сохраним результат на сервере If UserCredentialsStore(Стр) Then Message("Пользователь "+бПольз+" был успешно заблокирован!","I"); Else Message("Ошибка сохранения учетных записей пользователей!","!"); EndIf; EndIf; EndIf; Finally UserCredentialsUnlock(); EndTry;