У меня есть приложение ASP.NET, разработанное в Visual Studio 2010 с использованием веры 4 .NET Framework, которая использует собственные средства проверки подлинности. Я подключил сайт с помощью поставщика членства в Active Directory.Фильтрация по группе безопасности AD в ASP.NET
Моя строка соединения выглядит следующим образом:
connectionString="LDAP://MYDC-004/DC=company,DC=corp,DC=pvt"
Это хорошо работает, как страница Войти работает должным образом, и любой пользователь, который существует в AD может войти со своими учетными данными.
Однако я только хотят, чтобы пользователи, которые находятся в одной конкретной группы безопасности, чтобы иметь возможность войти в систему. Я знаю, где группа безопасности (так называемый «GR-DwgDep-Admins») расположен в AD организационных единиц, так что я пришел с этой измененной строкой подключения:
connectionString="LDAP://MYDC-004/CN=GR-DwgDep-Admins,OU=Groups,OU=Division,DC=company,DC=corp,DC=pvt" />
при попытке войти в систему (и я определенно в этой группе), то ошибка, я получаю «Пользовательские объекты не могут быть созданы в указанный контейнер ».
Не соответствует ли мой синтаксис? Или я делаю это неправильно, концептуально? Я бы предпочел сделать это с помощью настройки строки подключения, так как существующий элемент управления доступом .NET будет работать с ним как есть.
Я был бы очень признателен за любые предложения, которые есть у кого-либо. Спасибо!
Remy - Я закончил тем, что делал что-то подобное, но мне нравится ваш метод лучше. Я буду экспериментировать с тем, что вы сделали здесь, и отправить обратно с любыми дополнительными вопросами. Благодарим вас за подробный ответ! – Loki70
Я забыл упомянуть об этом, потому что я ищу sAMAccountName, которое является уникальным для домена, исправьте меня, если я ошибаюсь, но мы могли бы пропустить цикл foreach и просто изменить ds.FindAll() на ds.FindOne() и оберните все в финальный оператор try catch. Удачи! – Remy