C# AD身份验证未知用户名或错误密码
我正在使用VS2005 C# 我正在尝试将我的登录身份验证从ASP.NET网站管理工具从使用Internet切换到本地网络,即Windows身份验证 我已将web表单中登录工具的MembershipProvider设置为我的MP名称MyADMembershipProvider 以下是我在进行一些更改后的当前web.config文件:C# AD身份验证未知用户名或错误密码,c#,asp.net,authentication,active-directory,asp.net-membership,C#,Asp.net,Authentication,Active Directory,Asp.net Membership,我正在使用VS2005 C# 我正在尝试将我的登录身份验证从ASP.NET网站管理工具从使用Internet切换到本地网络,即Windows身份验证 我已将web表单中登录工具的MembershipProvider设置为我的MP名称MyADMembershipProvider 以下是我在进行一些更改后的当前web.config文件: <configuration> <appSettings/> <connectionStrings>
<configuration>
<appSettings/>
<connectionStrings>
<add name="SODConnectionString" connectionString="CONNECTIONSTRING" providerName="System.Data.SqlClient"/>
<add name="ADConnectionString" connectionString="LDAP://URL"/>
</connectionStrings>
<system.web>
<authentication mode="Windows" />
<roleManager enabled="true" />
<pages styleSheetTheme="DataWebControls"/>
<membership defaultProvider="MyADMembershipProvider">
<providers>
<clear/>
<add name="MyADMembershipProvider" type="System.Web.Security.ActiveDirectoryMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=PUBTOKEN" applicationName="SOD" connectionStringName="ADConnectionString" connectionUsername="domain\Username" connectionPassword="Password" attributeMapUsername="sAMAccountName" enableSearchMethods="true" />
</providers>
</membership>
<siteMap defaultProvider="XmlSiteMapProvider" enabled="true">
<providers>
<add name="XmlSiteMapProvider"
description="Default SiteMap provider."
type="System.Web.XmlSiteMapProvider"
siteMapFile="Web.sitemap"
securityTrimmingEnabled="true" />
</providers>
</siteMap>
<compilation debug="true"/>
<!-- Turn on Custom Errors -->
<customErrors defaultRedirect="~/Error/NetworkError.aspx" mode="On">
<error statusCode="404" redirect="~/Error/PageNotFound.aspx" />
</customErrors>
</system.web>
</configuration>`
我现在可以使用正确的凭据登录,并且系统还会提示我错误的凭据以进行错误的登录尝试
当另一个用户的凭证与我在connectionUsername
和connectionPassword
中“硬编码”的凭证不同时,该用户仍然能够登录
但是,工具箱中的“我的登录名”工具仍然在connectionUsername
中显示“硬编码”凭据的用户名,而不是登录用户的用户名
我可以知道为什么会这样吗?我认为错误在于会员资格提供商,而不是登录
在我看来,成员资格提供程序中的connectionUsername和connectionPassword属性没有指定有效的AD帐户。我相信该帐户用于在登录过程中验证凭据,并在登录后检索有关该帐户的信息。我相信该错误与会员资格提供商有关,而不是与登录有关
在我看来,成员资格提供程序中的connectionUsername和connectionPassword属性没有指定有效的AD帐户。我相信此帐户用于在登录过程中验证凭据,并在登录后检索有关帐户的信息。您是否已将站点/应用程序/虚拟目录/页面上的身份验证设置更改为“Windows身份验证”(假设您使用IIS托管)?@M.Babcock我可以知道如何进入站点/应用程序/虚拟目录/页面吗?它是通过控制面板还是?它将在您的IIS管理器中。@M.Babcock我需要一个外部工具吗?@M.Babcock我到目前为止还没有配置任何ISS管理器。我可以知道如何打开该工具吗?您是否已将站点/应用程序/虚拟目录/页面上的身份验证设置更改为“Windows身份验证”(假设您使用IIS托管)?@M.Babcock我可以知道如何转到站点/应用程序/虚拟目录/页面吗?它是通过控制面板还是?它将在您的IIS管理器中。@M.Babcock我需要一个外部工具吗?@M.Babcock我到目前为止还没有配置任何ISS管理器。我可以知道如何打开该工具吗?我已在
connectionUsername
和connectionPassword
中指定了一个广告帐户。但是,登录后,loginName工具仅显示AD帐户的用户名,而不是登录用户的用户名。我可以知道为什么吗?你有没有试着用你指定的帐号登录到机器上?我仍然怀疑该帐户有问题-密码不正确、帐户被挂起、安全权限不足等等。@RUiHAO,什么是loginName工具?我在connectionUsername
和connectionPassword
中指定了一个AD帐户。但是,登录后,loginName工具仅显示AD帐户的用户名,而不是登录用户的用户名。我可以知道为什么吗?你有没有试着用你指定的帐号登录到机器上?我仍然怀疑该帐户有问题-密码错误、帐户被挂起、安全权限不足等等@RUiHAO,什么是loginName工具?
<add name="MyADMembershipProvider"
type="System.Web.Security.ActiveDirectoryMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
applicationName="SOD"
connectionStringName="ADConnectionString"
connectionUsername="domain\Username"
connectionPassword="Password"
attributeMapUsername="sAMAccountName"
enableSearchMethods="true" />
connectionUsername="domain\Username" connectionPassword="Password"