Active Directory:如何从Login控件中检索用户名和密码

时间:2012-01-17 09:29:08

标签: c# asp.net visual-studio active-directory asp.net-membership

我正在使用VS2005 C#。

我的网络表单上有Login控件,我可以使用正确的凭据登录:

我没有支持Login控件的后端代码。

我正在使用Active Directory身份验证,以下是web.config中AD的代码段:

<membership defaultProvider="MyADMembershipProvider">       
    <providers>
        <clear/>
            <add name="MyADMembershipProvider" type="System.Web.Security.ActiveDirectoryMembershipProvider, 
            System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" 
            applicationName="SOD" connectionStringName="ADConnectionString" 
            connectionUsername="BTDP\Jimmy" connectionPassword="p@ssww0rd"
            attributeMapUsername="sAMAccountName" enableSearchMethods="true" />
    </providers>
</membership>

我已在上面宣布了有效的AD帐户。

但是,当具有上述不同凭据的用户登录时,变量User.Identity.Name被标识为BTDP\Jimmy而不是登录用户的用户名,尽管用户输入的用户名和密码通过AD身份验证。

我是否知道在连接字符串中对凭证进行硬编码是否错误?

我应该如何操作以便能够将用户名和密码输入网页中Login控件的连接字符串?

1 个答案:

答案 0 :(得分:1)

不确定这是否与用户模拟有关,或者您的应用程序正在查询域控制器但是冒充该用户这一事实。 blog here可能会有所帮助,您可以尝试使用实例源代码。