Александр Левыкин подготовил пошаговую инструкцию по настройке аутентификации Active Directory для Navision Attain (3.60).

Александр Левыкин, dumf@mazzy.ru

Аутентификация Active Directory

Требования
Настройка
Рекомендации

Более подробную информации о системе безопасности Navision Attain можно получить из документов:

 

1. Требования

Navision Attain работает с двумя типами аутентификации.

Navision Attain поддерживает две СУБД.

Речь пойдет только об аутентификации Windows для системы состоящей из:

  1. Клиента Navision Attain для MS SQL Server 2000 (файл finsql.exe ).
  2. MS SQL Server 2000 (все версии).
  3. Клиентской операционной системы Windows 2000 / Windows XP.
  4. Серверной операционной системой Windows Server 2000 / Windows Server 2003.

В системе должен быть настроен AD , клиентские и серверные машины должны в него входить.

2. Настройка

Готовим MS SQL Server 2000

Необходимо добавить extended stored procedure в базу MASTER на вашем MS SQL Server 2000, который будет использоваться как СУБД для вашей базы данный Navision Attain . Процедура называется xp_ndo_enumusersids, она обеспечивает возможность Windows аутентификации для Navision Attain.

Инструкция и сама процедура находятся в директории SQL_ESP на продукт диске.

Для того что бы добавить extended stored procedure надо выполнить следующие действия:

Хранимые процедуры в базе данных master
Хранимые процедуры в базе данных master

Права на хранимую процедуру в Enterprise Manager
Права на хранимую процедуру в Enterprise Manager

Теперь все готово для заведения Windows logon в Navision Attain.

 

Прописываем пользователей в Navision Attain

Теперь необходимо открыть базу данных. Тут возможны варианты. Но для простоты приведу один. Создаете нового пользователя или используете уже существующего в MS SQL Server 2000, даете права public на базу данных вашего Navision Attain. Запускаете finsql.exe.

Если у вас использовались Database Logins то, необходимо зайти под пользователем имеющим роль SUPER или ролью с доступом достаточным для создания новых пользователей.

Заходим в меню Open Database ( File->Database->Open ).

Параметры базы данных в Navision
Параметры базы данных в Navision

Вводите Server Name вашего сервера MS SQL 2000.
Указываете Database Name вашей базы данных Navision Attain.
Выбираете метод аутентификации:

Указываем User ID, вводим логин вашего пользователя.
Указываем Password.

Давим кнопку Ok . Если все нормально, то теперь вы получили доступ к базе данных и можно начинать вводить пользователей.

Возможные проблемы

  1. Не найден сервер базы данных.
    Проверьте правильность написания имени и доступность сервера.
  2. Комбинация User ID и password не верна.
    Проверьте, правильно ли вы ввели логин и пароль.
  3. Login failed
    Проверьте, есть ли у этого пользователя права public на базу данных.
  4. База данных «имя вашей базы данных» не существует на сервере «имя сервера».
    Проверьте, правильно вы написали название базы данных.
    Убедитесь в наличии базы данных на вашем MS SQL Server 2000, к которому вы подключаетесь.

И так вы открыли базу данных вашего Navision Attain.

Настройки безопасности, к которым относятся аккаунты пользователей, находятся в Меню Tools->Security

Настройки безопасности в Navision
Настройки безопасности в Navision

В этом меню имеется database Logins и Windows Logins, нас интересует Windows Logins. Открываем, смотрим.

Navision Windows Logins
Navision Windows Logins

В открытом окне, выбираем пустую строку и давим LookUp. Появляется Окно Windows Users & Groups , в это окно Attain вытянет список пользователей и групп заведенных в Active Directory. Выбираете аккаунт пользователя, давите кнопку Ok. Выбранный аккаунт, перенесется в окно Windows logins.

Осталось последнее, дать права на Navision Attain. Давим кнопку Roles, открывается, форма Roles.

Роли в Navision
Роли в Navision

В этой форме перечислены все роли выданные этому аккаунту. В поле Role ID кнопкой LookUp открывается список ролей заведенных в системе.

После заведения нового пользователя Navision Attain автоматически проведет синхронизацию с MS SQL Server 2000 и создаст на нем пользователя с правами public на вашу базу данных Attain.

Пункт меню Tools -> Security -> Synchronize, предназначен для проведения синхронизации. Синхронизация проверяет список Windows Login, заведенных в Attain со списком Windows User заведенных на MS SQL Server 2000 и имеющим доступ к базе Attain.

Если в списке пользователей Attain есть пользователь, а на MS SQL нет, то пользователь автоматически создастся.

Если же на MS SQL пользователь заведен, а в Attain его нет, вам будет предложено получить пользователя в Attain. НЕ ДЕЛАЙТЕ ЭТОГО!!! Пользователь будет удален с MS SQL Server.

Теперь осталось только выйти из Attain и можно использовать Windows login. Для этого:

зарегистрируйтесь в Active Directory, под логином пользователя заведенного в Attain.

Укажите необходимые:

Нажмите кнопку Ok. И вы войдете в Navision Attain под логином вашего пользователя Active Directory с правами в Attain, определенными в ROLES.

 

3. Рекомендации.

Все бы хорошо, но есть несколько нехороших моментов.

Navision Attain версии 3.7 и всех более ранних не работает с группами пользователей в Active Directory. То есть если вы попытаетесь вывести в список Windows Login группу из AD, вам будет позволено это сделать, но участники группы, не прописанные в Attain, войти, не смогут.

Следующая бяка. Если у вас есть трасты между доменами в AD, вы так же не сможете использовать пользователей соседнего домена.

Далее, если в свойствах вашего MS SQL 2000, в закладке Processor стоит галочка "Use Windows NT Fibers", то аутентификация Windows работать не будет. Будет, повторятся ошибка «Комбинация User ID и password не верна». Это ошибка MS SQL Server 2000 она будет исправлена в 4-м сервис паке. http://support.microsoft.com/default.aspx?scid=kb;en-us;830382

 

Александр Левыкин, dumf@mazzy.ru