0

第一次尝试在 ASP.NET Web 应用程序中使用 AD 身份验证。尝试使用ActiveDirectoryMembershipProvider该类获取有关用户的基本信息时,我收到一条错误消息The Active Directory Membership Provider has not been initialized.

这是我的 web.config:

<connectionStrings>
      <add name="ADService" connectionString ="LDAP://AMAZON-A923C5B1.l5.chm.com/" />
  </connectionStrings>

  <system.web>
    <compilation debug="true" targetFramework="4.0" />

    <membership defaultProvider="AspNetActiveDirectoryMembershipProvider">
      <providers>
        <add name="AspNetActiveDirectoryMembershipProvider"
             type="System.Web.Security.ActiveDirectoryMembershipProvider, 
                 System.Web, Version=2.0.3600, Culture=neutral, 
                 PublicKeyToken=b03f5f7f11d50a3a"
             connectionStringName="ADService"/>
      </providers>
    </membership>

这是我的代码:

    ActiveDirectoryMembershipProvider provider = new ActiveDirectoryMembershipProvider();

    if (this.Page.User.Identity.IsAuthenticated)
    {

        MembershipUser user = provider.GetUser(this.Page.User.Identity.Name, true);

        LoginName loginName = HeadLoginView.FindControl("HeadLoginName") as LoginName;
        loginName.FormatString = user.UserName;
    }
}

这是我的错误:

在此处输入图像描述

4

2 回答 2

0

您正在寻找的课程是System.Web.Security.Membership. 该类公开GetUser为静态成员。

MembershipUser user = Membership.GetUser(this.Page.User.Identity.Name, true);

我不认为ActiveDirectoryMembershipProvider该类是要直接使用的。从文档中,

Membership 和 MembershipUser 类使用此类为使用 Active Directory (AD) 或 Active Directory 应用程序模式 (ADAM) 服务器的 ASP.NET 应用程序提供成员资格服务。

于 2013-07-10T16:44:29.563 回答
0
provider.Initialize("NameOfYourProvider", NameValueCollectionOfConfigOptions)

其中“NameValueCollectionOfConfigOptions”是一个NameValueCollection.

于 2013-07-10T16:31:05.403 回答