powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / asp.net аутентификация ActiveDirectory
16 сообщений из 16, страница 1 из 1
asp.net аутентификация ActiveDirectory
    #37513414
Boneshock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый вечер.
Подскажите правильный способ, чтобы залогинить юзера с помощью ActiveDirectory. Что делать если мне нужно предоставить доступ пользователям, которых нет в AD, использовать аутентификацию forms? Есть какие-нибудь примеры?
...
Рейтинг: 0 / 0
asp.net аутентификация ActiveDirectory
    #37513566
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На выбор:
1. Windows Authentication + SqlRoleProvider
2. ActiveDirectoryMembershipProvider
...
Рейтинг: 0 / 0
asp.net аутентификация ActiveDirectory
    #37514008
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
asp.net аутентификация ActiveDirectory
    #37514436
Boneshock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо. Вроде все просто, но работать нифига не хочет...
Использую ActiveDirectoryMembershipProvider. Подозреваю что ошибка в строке подключения. Допустим если у меня домен domain.ru и два domain controllers (dc1.domain.ru и dc2.domain.ru) как должна выглядеть строка подключения?
Вот так неправильно?
Код: plaintext
<add name="ADConnectionString" connectionString="LDAP://CN=Users,DC=domain,DC=ru" />
МСУ , подскажи, пожалуйста.
...
Рейтинг: 0 / 0
asp.net аутентификация ActiveDirectory
    #37514546
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
<add name="ADConnectionString" connectionString="LDAP://domain"/>

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
<membership defaultProvider="MembershipADProvider">
  <providers>
    <add name="MembershipADProvider" 
         type="System.Web.Security.ActiveDirectoryMembershipProvider,System.Web,Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
         enableSearchMethods="true"
         connectionProtection="None"
         attributeMapUsername="sAMAccountName"
         connectionStringName="ADConnectionString"
         connectionUsername="domain\admin" 
         connectionPassword="pass" />
  </providers>
</membership>

P.S. Посмотрите-таки Mixing Forms and Windows Security, я в первом посте не правильно вопрос понял :)
...
Рейтинг: 0 / 0
asp.net аутентификация ActiveDirectory
    #37514919
Boneshock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ , спасибо!
Теперь работает, ошибка видимо была в строке подключения. Я делал вот по этим примерам http://msdn.microsoft.com/en-us/library/ms998360.aspx и http://msdn.microsoft.com/en-us/library/ms180890(v=vs.80).aspx. Оба способа работают. Надо подумать какой выбрать и как подключить SSL.
>Посмотрите-таки Mixing Forms and Windows Security
посмотрел, но думаю мне хватит первых двух.
Только вот такой вопрос. Пользователи интранета у которых есть AD-данные будут заходить на сайт с помощью них; внешним пользователям нужно тоже дать доступ к сайту. Можно подключить стандартный SqlMembershipProvider, но как совместить(если испльзовать ActiveDirectoryMembershipProvider)?
...
Рейтинг: 0 / 0
asp.net аутентификация ActiveDirectory
    #37515010
Boneshock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Единственное - второй метод с созданием класса LdapAuthentication работает только из под студии, т.е. при открытии сайта в браузере выдает ошибку 500. Ну это видимо надо iis настроить.
...
Рейтинг: 0 / 0
asp.net аутентификация ActiveDirectory
    #37564570
Boneshock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В продолжении темы.
Авторизация работает и в интранет и в интернет сети, все o'k. Но что если пользователь открывает сайт внутри локальной сети, он уже залогинен на своем компьютере по AD-учетке, можно ли как то узнать его имя? Т.е. без ввода имени и пароля в формочке, узнать учетную запись пользователя, который зашел внутри сети на сайт?

Кстати, МСУ, кажется в этой теме вы спрашивали про что-то похожее, нет? Получилось сделать?
...
Рейтинг: 0 / 0
asp.net аутентификация ActiveDirectory
    #37564619
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BoneshockПолучилось сделать?
К сожалению нет, сам очень хотел такую штуку... Это возможно только в Windows-аутентификации (не всеми браузерами поддерживается).

Код: c#
1.
2.
<anonymousIdentification enabled="false"/>
<authentication mode="Windows">



В итоге остановился именно на этом варианте. Пользователи - виндовые, а роли / профили / ... стандартные сиквельные (которые идут в поставке aspnetdb).
Самое главное, юзерам не надо вводить пароли. Из инета тоже будет работать, но только для юзера AD. Меня это устраивает.
Разумеется, пришлось написать свою админку для добавления / удаления пользователей / ролей. Юзается только таблица aspnet_Users. aspnet_Membership пустая.
...
Рейтинг: 0 / 0
asp.net аутентификация ActiveDirectory
    #37565047
Boneshock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ,
Т.е. в вашем случае, если юзер на компе зашел под ad-учеткой, при открытии веб-приложения, приложение определяло его логин и аутентифицировало автоматически без формы ввода логина/пароля?
Ну а что, тоже вариант. Для этого нужно просто указать тип аутентификации? И где отследить(в каком событии?) что пользователь не из AD?(нужны специфичные действия в этом случае)
...
Рейтинг: 0 / 0
asp.net аутентификация ActiveDirectory
    #37565264
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BoneshockМСУ, Т.е. в вашем случае, если юзер на компе зашел под ad-учеткой, при открытии веб-приложения, приложение определяло его логин и аутентифицировало автоматически без формы ввода логина/пароля?
Конечно. И в этом весь цимус. И безопасно и удобно. Но ограничение - только для пользователей AD. В основном для интранет решений этого с головой.
BoneshockНу а что, тоже вариант. Для этого нужно просто указать тип аутентификации? И где отследить(в каком событии?) что пользователь не из AD?(нужны специфичные действия в этом случае)
Ничего не нужно отслеживать, не нужно писать ни строчки кода в провайдере. Нужно просто указать виндовую аутентификацию.

Веб-конфиг:

Код: c#
1.
<authentication mode="Windows" />



Код:

Код: c#
1.
2.
3.
4.
5.
<body>
    <form id="form1" runat="server">
        Текущий пользователь <%= User.Identity.Name %>
    </form>
</body>
...
Рейтинг: 0 / 0
asp.net аутентификация ActiveDirectory
    #37632590
saszay
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Может это поможет:
http://support.microsoft.com/kb/306158/ru/
...
Рейтинг: 0 / 0
asp.net аутентификация ActiveDirectory
    #37632860
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
saszayМожет это поможет:
http://support.microsoft.com/kb/306158/ru/

http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=911648&msg=11950683 • По возможности избегайте применения олицетворения и делегирования, потому что это может существенно повлиять на производительность и возможности масштабирования. Как правило, олицетворение клиента при вызове требует больших ресурсов, чем вызов напрямую.
...
Рейтинг: 0 / 0
asp.net аутентификация ActiveDirectory
    #37718176
ReyDoc81
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Boneshock Я делал вот по этим примерам http://msdn.microsoft.com/en-us/library/ms998360.aspx и
Делал по этому примеру в Silverlight BA, все отлично работает.... но только в студии.
После публикации в IIS 7 вылетает с ошибкой: Load operation failed for query 'Login'....

Что я не так делаю?
...
Рейтинг: 0 / 0
asp.net аутентификация ActiveDirectory
    #37718195
ReyDoc81
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ASP.NET версия тоже вылетает с ошибкой:

Description: The application attempted to perform an operation not allowed by the security policy. To grant this application the required permission please contact your system administrator or change the application's trust level in the configuration file.

Exception Details: System.Security.SecurityException: Request for the permission of type 'System.DirectoryServices.DirectoryServicesPermission, System.DirectoryServices, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' failed.


Если не хватает доверия то как его изменить??
...
Рейтинг: 0 / 0
asp.net аутентификация ActiveDirectory
    #37718242
ReyDoc81
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
<system.web>
<trust level="Full"/> - это решило проблему, но не знаю правильно ли это.
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / asp.net аутентификация ActiveDirectory
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]