繁体   English   中英

尝试访问用户信息时,尚未初始化Active Directory成员资格提供程序

[英]The Active Directory Membership Provider has not been initialized when trying to access user information

第一次尝试在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;
    }
}

这是我的错误:

在此处输入图片说明

provider.Initialize("NameOfYourProvider", NameValueCollectionOfConfigOptions)

其中“ NameValueCollectionOfConfigOptions”是NameValueCollection

您要查找的类是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应用程序提供成员资格服务。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM