Difference between revisions of "UserCredentialsStore"

From SunFlurry wiki
Jump to: navigation, search
1>Admin
(Created page with "{{infobox function |name=UserCredentialsStore |object=Функции общего назначения |caption=Административные функции |type=1 |st...")
 
m (1 revision imported)
 
(No difference)

Latest revision as of 12:42, 3 January 2024

  UserCredentialsStore (Административные функции)
Объект:Функции общего назначения
Статус разработки: Реализована
Тип:Функция
Обращение к БД:Сервер
Исключения:Недостаточно прав, файловый сервер, невозможно превратить в строку.
Визуальность:Нет

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

Синтаксис

UserCredentialsStore(<Файл учетных записей сервера в виде строки (STRING)>):<0 или 1 (INT)>

Аргументы

  • <Файл учетных записей сервера в виде строки (STRING)> - Аргумент содержит строку-содержимое файла учетных данный пользователей для сохранения на сервере. Для дополнительной информации по формату файла см. описание функции UserCredentialsLoad.

Возвращаемое значение

Возвращает 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;