[英]How to use Active Directory connection string membership provider when it is published outside our domain or on azure
[英]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.