Показать сообщение отдельно
Старый 26.02.2007, 15:36   #6  
gl00mie is offline
gl00mie
Участник
MCBMSS
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,684 / 5788 (200) ++++++++++
Регистрация: 28.11.2005
Адрес: Москва
Записей в блоге: 3
Цитата:
Сообщение от Михаил Андреев Посмотреть сообщение
Меня другое удивило. Оказалось, что реально AX просто "спрашивает" у AD информацию о пользователе только в момент его создания и прописывает в таблицу UserInfo.
Мне кажется, UserInfo - это скорее legacy механизм. Конечно, по хорошему интеграция должна быть на таком уровне: при установке AX в домене обновляется схема AD, пользователям и группам добавляются дополнительные атрибуты, как это происходит при установке Exchange Server, затем и информация о пользователе берется каждый раз из AD, и права доступа привязываются к группам из AD. Однако здесь есть свои заковырки:
  • есть поля CreatedBy, ModifiedBy в таблицах, для которых длина SID великовата;
  • есть куча кода, обращающегося к UserInfo и мало приспособленного к работе с AD;
  • есть необходимость работать с базой без связи с исходным доменом (скажем, на ноутбуке);
  • мало ли чего еще...
Поэтому "вот так сразу", видимо, отказаться от UserInfo не получится.
Цитата:
Но зачем указан идентификатор пользователя в AD вместо варианта пользователь/домен? Старый добрый способ, только на другой лад? По сути, ничего же не поменялось. Или я что-то не понимаю?
SID однозначно идентифицирует пользователя из определенного домена, а связка SAM Account Name (логин в терминах AD) и DNS/NETBIOS Domain Name - нет. Логин может быть изменен, при том что пользователь (т.е. объект в AD и его SID) останется тот же самый; домен может быть переименован, причем могут измениться как оба названия (DNS и NETBIOS) домена, так и отдельно одно из них, при этом SID'ы объектов в AD останутся прежними. Поэтому полагаться на пару логин+домен в плане идентификации пользователей Windows-доменов нельзя. В виндах привязка пользователей/групп к тем же доменным политикам, спискам контроля доступа (ACL) и т.п. всегда идет по SID.