SharePoint 2010的使用FBA创建用户
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SharePoint 2010的使用FBA创建用户相关的知识,希望对你有一定的参考价值。
我试图创建用户在SharePoint 2010中使用FBA(基于表单的身份验证)。我跟着本文中的步骤配置FBA:http://donalconlon.wordpress.com/2010/02/23/configuring-forms-base-authentication-for-sharepoint-2010-using-iis7/
然后我上传的FBA包http://sharepoint2010fba.codeplex.com/。 Web部件正常加载,但不创建的用户。如果您尝试创建一个用户它提供了一个未知的错误。
从那以后,我尝试自己创造授权书。下面的代码处理注册事件:
MembershipCreateStatus mcs = new MembershipCreateStatus();
SPSecurity.RunWithElevatedPrivileges(delegate()
{
using (SPSite site = new SPSite("http://makovkasp:30763/"))
using (SPWeb spWeb = site.OpenWeb())
{
try
{
MembershipUser membershipUser =
Membership.Providers["FBAMembershipProvider"].CreateUser(txtLogin.Text,
txtPassword.Text,
txtEmail.Text,
txtSecretQuestion.Text,
txtAnswer.Text, true, null, out mcs);
spWeb.AllowUnsafeUpdates = true;
SPUser spUser = spWeb.EnsureUser(txtLogin.Text);
SPGroup spGroup = spWeb.Groups[2];
spGroup.AddUser(spUser);
spGroup.Update();
}
catch (Exception ex)
{
System.Console.WriteLine(ex.ToString());
}
}
});
执行该代码后,用户创建在SharePoint(我可以看到它在FBA UserManagement)。但它不是在FBA数据库中创建。所以,我无法登录其下的帐户。任何人都知道该怎么办呢?
谢谢。
在执行你的代码后,你应该询问mcs
参数值。这可能说明为什么没有创建用户帐户。该MembershipCreateStatus枚举应该显示为什么用户不是由成员提供成功保存。
登记用户时未知错误一般是指有一个错误发送电子邮件。您可以检查的SharePoint ULS日志了解更多详情。我会检查您的SharePoint传出邮件设置。
如果你能看到FBA UserManagement用户 - 那么它已经在会员数据库中创建。你已经检查了aspnetdb的数据库,以查看该用户是否存在?
你可以与其他FBA用户的帐户登录?如果不是那么有可能是您的FBA设置有问题。确保成员项在您的STS和中央管理的网络CONFIGS。
这也许应该是一个评论,但我没有代表做到这一点呢。这是任何人谁发现了这个问题,因为他们感到困惑的所有其他的答案,只是说使用
Membership.CreateUser()
在启用FBA-SharePoint网站创建用户。
当你启用了多个身份验证提供一个Web应用程序,您需要使用指定供应商:
Membership.Providers[MembershipProvider].CreateUser()
要获得MembershipProvider
,你可以指定它作为一个硬编码字符串如OP一样,或者你可以使用动态获取它:
SPSite.WebApplication.IisSettings[SPUrlZone].FormsClaimsAuthenticationProvider.MembershipProvider()
以上是关于SharePoint 2010的使用FBA创建用户的主要内容,如果未能解决你的问题,请参考以下文章
Sharepoint 2016 配置FBA 创建Membership数据库
Sharepoint 2016 配置FBA添加用户到Membership数据库
Sharepoint 2016 配置FBA 编辑Web,config文件