Простая интеграция с Active Directory в приложении - что должно хранить приложение? - PullRequest
2 голосов
/ 10 марта 2009

Я начинаю проект, чтобы разрешить существующему веб-приложению использовать активный каталог для аутентификации, но оставляю авторизацию внутри приложения. Я хочу начать с простого, поэтому я подумал, что пользователь введет свое имя пользователя / пароль AD в мою существующую форму входа в систему, а затем я сделаю привязку ldap к серверу AD для аутентификации пользователя. Как только пользователь проходит аутентификацию, я вытаскиваю этого пользователя из моей базы данных, которая имеет всю информацию авторизации относительно того, какие функции может видеть пользователь.

Мой вопрос: какой элемент AD лучше всего хранить в моей таблице, чтобы создать ассоциацию? Раньше я использовал имя пользователя, но после просмотра некоторых элементов, которые возвращает AD, мне стало интересно, стоит ли мне использовать идентификатор безопасности или GUID или что-то еще?

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

Я ориентировался на Windows 2003 AD и выше, если это имеет значение; это для продукта, где у некоторых клиентов большой лес AD, а у некоторых - небольшие сети.

Ответы [ 2 ]

2 голосов
/ 10 марта 2009

Хранение SID - самый надежный подход; это уникальный идентификатор, который используют все элементы Microsoft AD, группы безопасности, разрешения и т. д.

Если вы работаете на .Net, вам следует серьезно рассмотреть .Net 3.5, есть новое пространство имен System.DirectoryServices.AccountManagement , которое значительно упрощает код и дает вам приятную информацию объекты, против которых идти.

1 голос
/ 10 марта 2009

Если пользователи не используют компьютеры совместно, почему бы не использовать Интегрированный вход в Windows ? Гораздо проще для пользователей, проще для себя, как для разработчика, и более безопасно (на одно место меньше места для пароля).

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

Как упоминает Ник, SID является стабильным идентификатором, но это не то, что вы должны попросить пользователя ввести для себя!

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