Я делаю простой веб-сайт, чтобы узнать об аутентификации asp.net/AD.ASP.NET Active Directory Авто-вход
Я использовал некоторые фрагменты кода из этого учебника: https://support.microsoft.com/en-us/kb/316748, чтобы успешно использовать AD с аутентификацией форм на странице входа. Я использую эти параметры проверки подлинности IIS для веб-сайта:
Anonymous Authentication -Enabled
ASP.NET Impersonation -Disabled
Basic Authentication -Disabled
Digest Authentication -Disabled
Forms Authentication -Enabled
Windows Authentication -Disabled
Я хочу использовать учетные данные для текущего пользователя окон и либо не запрашивать или только подсказать, если он выходит из строя. Когда я меняю режим аутентификации Web.config на «Windows» и параметры IIS, как показано ниже, у него есть всплывающее окно учетных данных, но он просто продолжает запрашивать и никогда не принимает учетные данные.
Anonymous Authentication -Enabled
ASP.NET Impersonation -Disabled
Basic Authentication -Disabled
Digest Authentication -Disabled
Forms Authentication -Disabled
Windows Authentication -Enabled
Я пробовал несколько других комбинаций, но все они потерпели неудачу.
Всех файлов на этом сайте, являются:
LdapAuthentication.cs - is in App_Code and is a direct copy/paste from the tutorial
Logon.aspx - is copy/pasted from the tutorial with the companies LDAP path added
Default.aspx - is a direct copy/paste from the WebForm1.aspx in the tutorial
Web.config (shown below)
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.web>
<compilation debug="true" targetFramework="4.5">
<assemblies>
<add assembly="System.DirectoryServices, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" />
</assemblies>
</compilation>
<httpRuntime targetFramework="4.5" />
<authentication mode="Forms"> <!-- I also tried "Windows" -->
<forms loginUrl="logon.aspx" name="adAuthCookie" timeout="10" path="/" />
</authentication>
<authorization>
<deny users="?" />
<allow users="*" />
</authorization>
<identity impersonate="true" />
<anonymousIdentification enabled="false" />
</system.web>
<system.webServer>
<validation validateIntegratedModeConfiguration="false" />
</system.webServer>
</configuration>
взгляд на использование 'PrincipalContext' наряду с очень небольшим' AD code' Я использую его в настоящее время, и это спасатель жизни, и если вы хотите просто авто Логин или аутентификации, чтобы позволить пользователю введите веб-страницу, если они находятся в домене. Просто используйте 'PrincipalContext' очень просто сделать только 2-3 строки кода – MethodMan
Попробуйте удалить элемент проверки подлинности форм из вашего web.config, так как вы не будете использовать его со встроенными окнами Аутентификация. – mason