Windows и анонимная аутентификация рядом - PullRequest
3 голосов
/ 24 ноября 2010

Мне нужна помощь по аутентификации пользователей в зависимости от их местоположения.Проблема заключается в следующем: если пользователи приходят на веб-сайт вне домена, то пользователь должен заполнить страницу входа в систему, а предоставленные им учетные данные должны быть аутентифицированы в хранилище пользовательских учетных данных.Если пользователь является пользователем Active Directory, он должен быть направлен на нужный ресурс без запроса учетных данных.

Если я включаю анонимную аутентификацию и аутентификацию Windows для веб-сервера, сначала идет анонимная аутентификация, и дажеПользователь Active Directory. Я не могу получить доступ к информации о его домене.

Кто-нибудь может помочь?

Ответы [ 2 ]

1 голос
/ 24 ноября 2010

Один способ, который я знаю, - это настроить одну страницу, например AdLogin.aspx, для запрета анонимных пользователей и сделать так, чтобы эта страница регистрировала их в модуле проверки подлинности с помощью форм.Затем вам нужно создать пользовательскую страницу ошибки 401, которая перенаправляет на вашу страницу входа в Forms из вашего AdLogin.Одна вещь, которая мне не нравится, это то, что пользователи AD пытаются войти через страницу входа в Forms все время, и трудно добавить страницу AdLogin в закладки, потому что она просто выполняет автоматическое перенаправление.Мне также не нравится, что это так зависит от пользовательской конфигурации IIS.

Подробности см. В моем ответе здесь: Приложение ASP.NET для аутентификации в Active Directory или SQL через аутентификацию Windows или аутентификацию с помощью форм

0 голосов
/ 24 ноября 2010

Как насчет публикации сайта с двумя различными веб-приложениями?

Вы можете настроить внутренний для использования Windows Auth, а внешний - для Anonymous. Если пользователь запрашивает сайт, требующий авторизации, вы разрешаете ему аутентификацию.

Вы также можете разместить ссылку «Войти» на своей (внешней) веб-странице, которая позволит пользователю вручную войти на внешний сайт. Но если вы разрешаете странице использовать анонимный доступ, вам следует учитывать, что вы не знаете, кто в данный момент является пользователем.

...