logo

[ELMA3] Авторизация от пользователя Windows

В данной статье речь пойдет об авторизации от пользователя Windows на сервере БД. Необходимо учитывать, что у пользователя, от имени которого запущен сервер ELMA, должны быть права администратора Windows и MS SQL (или FireBird).

В случае, если сервер располагается на базе Cassini, Вам необходимо нажать клавишу с логотипом Windows (флажок Microsoft) + R и ввести следующую команду в диалоговое окно: "services.msc" (без кавычек), после чего появится окно служб Windows. В нем Вы сможете найти строчку Веб-сервер ELMA, кликнуть по ней правой кнопкой мыши и выбрать в контекстном меню пункт Свойства, в котором и располагается искомая вкладка Вход в систему. Укажите учетную запись LocalSystem либо реальную учетную запись с правами администратора, после чего следует перезапустить веб-сервер.

Если сервер располагается на базе IIS, необходимо зайти в Диспетчер служб IIS (стандартно на сервере в Пуск – Администрирование). В нем на вкладке Пулы приложений нажать правой кнопкой мыши на пул ELMA3-Standart и выбрать в контекстном меню пункт Дополнительные параметры. На панели Модель процесса в поле Удостоверение указать учетную запись LocalSystem либо реальную учетную запись с правами администратора, после чего следует перезапустить веб-сервер.

Создание учетных данных в среде SQL Server Management Studio

  1. В обозревателе объектов раскройте папку Безопасность.
  2. Нажмите правой кнопкой мыши на папку Учетные данные и выберите команду Создать учетные данные.
  3. В диалоговом окне Создание учетных данных в поле Учетное имя введите имя для учетных данных.
  4. В поле Удостоверение введите имя учетной записи, используемой для исходящих соединений (при выходе из контекста SQL Server). Как правило, это будет учетная запись пользователя Windows, но удостоверение может быть и учетной записью другого типа. Либо нажмите кнопку с многоточием (...), чтобы открыть диалоговое окно Выбор пользователя или группы.
  5. В полях Пароль и Подтверждение пароля введите пароль учетной записи, указанной в поле Удостоверение. Если в поле Удостоверение указана учетная запись пользователя Windows, то это будет пароль Windows. Поле Пароль может быть пустым, если пароль не требуется.
  6. Установите флажок Использовать поставщика услуг шифрования, чтобы учетные данные проверялись поставщиком расширенного управления ключами.
  7. Нажмите кнопку ОК.

Аутентификация в SQL Server

Как известно, в SQL Server можно выбрать один из двух типов аутинтификации: Windows Authentication (Аутентификация Windows) или SQL Server Authentication (Аутентификация SQL Server). Сменить режим аутентификации на сервере с помощью SSMS (SQL Server Management Studio) либо с помощью EM (Entreprise Manager) достаточно легко. Для этого необходимо в свойствах сервера перейти на закладку Security и установить флажок в нужное поле.

После этого обязательно необходимо перезапустить службу MSSQLSERVER.

Если установлена бесплатная редакция MSDE (2000) или Express (2005/2008) без установленных клиентских утилит, то необходимо знать, что настройки аутентификации хранятся в реестре.

С помощью недокументированной процедуры T-SQL xp_instance_regwrite, через утилиты OSQL/SQLCMD, меняем значение (Windows Authentication mode; SQL Server and Windows Authentication mode) EXEC xp_instance_regwrite N’HKEY_LOCAL_MACHINE’, N’Software\Microsoft\MSSQLServer\MSSQLServer’, N’LoginMode’, REG_DWORD, 1. Далее после смены типа аутентификации, необходимо перезапустить службу. Остановить её можно также с помощью T-SQL (процедура xp_servicecontrol также недокументированная): EXEC master..xp_servicecontrol ’stop’, ’MSSQLSERVER’. А вот запустить службу через T-SQL не выйдет, так как она остановлена, но если у вас установлен второй инстанс, тогда через него достаточно выполнить: EXEC master..xp_servicecontrol ’start’, ’MSSQLSERVER’. Службу лучше перезапускать с помощью команд net stop MSSQLSERVER/net start MSSQLSERVER.

Конечный вариант для смены аутентификации на сервере будет выглядеть так (достаточно вставить этот код в bat-файл и использовать, когда вам это потребуется):

SQLCMD -E -q "EXEC xp_instance_regwrite N’HKEY_LOCAL_MACHINE’, N’Software\Microsoft\MSSQLServer\MSSQLServer’, N’LoginMode’, REG_DWORD, 1"
net stop MSSQLSERVER
net start MSSQLSERVER

Создание учетных данных FireBird

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

Структура учетных записей пользователей:

  • UserName – имя пользователя. Максимальная длина 31 символ. Имя не чувствительно к регистру;
  • Password – пароль пользователя чувствителен к регистру. Максимальное количество символов 32, однако, только первые восемь имеют значение;
  • UID – целое число, задающее идентификатор пользователя;
  • GID – целое число, задающее идентификатор группы;
  • FirstName – имя. Может занимать до 17 символов;
  • MiddleName – второе имя. Можем использовать в качестве отчества. До 17 символов;
  • LastName – фамилия. До 17 символов.

Обязательными являются только имя пользователя и пароль.

Внимание! Ни в каком поле учетной записи не используйте буквы кириллицы. Такая запись не будет создана или изменена.

Запустите программу IBExpert. Нажмите левой кнопкой мыши по кнопке Tools в верхнем меню и в выпадающем меню выберите пункт User Manager. Откроется диалоговое окно User Manager. В выпадающем списке Server выберите local.

Нажмите на кнопку Connect справа от выпадающего списка Server. Откроется диалоговое окно Server Login.

В поле Login уже будет задано имя пользователя SYSDBA. Вам нужно в поле Password ввести пароль masterkey (или другой, если вы изменили значение пароля) и нажать на кнопку ОК. Появится список учетных записей, который будет содержать только одного пользователя SYSDBA.

Нажмите на кнопку Add, в открывшемся окне New User введите имя пользователя (имя пользователя вы можете вводить в любом регистре, символы все равно будут появляться в верхнем регистре) и дважды введите пароль в поля Password и Confirm Password. Нажмите на кнопку ОК. В список будет добавлена новая учетная запись пользователя.

Для изменения существующей записи (изменять можно любое поле, кроме имени пользователя) необходимо нажать на кнопку Edit или дважды нажать левой кнопкой мыши по нужной строке и в появившемся окне изменить желаемые поля.

Для удаления существующей записи щелкните по кнопке Delete и в диалоговом окне подтвердите удаление.

Чтобы изменить имя пользователя, вам нужно удалить старую запись и ввести новую, с другим именем и теми же или другими характеристиками.

Если вы одновременно работаете в IBExpert и используете утилиту gsec или другую программу для добавления или изменения учетных записей, то для того, чтобы увидеть в списке IBExpert новое состояние списка, нужно нажать на кнопку Refresh.