0

我有一个声明身份验证和FBA设置的SP站点。双重身份验证Win/Forms完美运行。SharePoint 2010声明身份验证/ FBA - 重置密码不起作用

我在应用程序页面上有一个asp:PasswordRecovery控件。 它似乎正确查找帐户 - 如果找不到用户名,则返回“未找到”消息。但是,它不能通过以下执行重置密码:

Exception information: 
    Exception type: NotImplementedException 
    Exception message: The method or operation is not implemented. 


Thread information: 
Thread ID: 10 
Thread account name: SERVER01\SPS_Farm 
Is impersonating: False 
Stack trace: at Microsoft.SharePoint.Administration.Claims.SPClaimsAuthMembershipProvider.GetUser(String name, Boolean userIsOnline) 
at System.Web.Security.MembershipProvider.GetUser(String username, Boolean userIsOnline, Boolean throwOnError) 
at System.Web.UI.WebControls.PasswordRecovery.AttemptSendPasswordUserNameView() 
at System.Web.UI.WebControls.PasswordRecovery.OnBubbleEvent(Object source, EventArgs e) 
at System.Web.UI.Control.RaiseBubbleEvent(Object source, EventArgs args) 
at System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) 
at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) 

在此先感谢。

更新:
我说:
enablePasswordReset设置=“真”
到应用程序的web.config和令牌服务的web.config

写了一些一些代码做一个手动测试,而且还当我的代码尝试“重置”密码时得到了这个:
此提供程序未配置为允许密码重置。要启用密码重置,请在配置文件中将enablePasswordReset设置为“true”。

回答

1

这可能不会帮助,因为你似乎在正确查找用户...但如果你不这样做,我知道你会遇到不落实的问题:

一定要得到的一个实例用户使用适当的成员资格提供者。

例如

MembershipUser myUser = Membership.Providers["aspMembership"].GetUser(userName, false); 

希望这会有所帮助。

+0

是的,这是问题......我的代码试图使用'声明提供程序',但它似乎不允许。我不得不直接将成员资格提供程序和连接信息添加到SharePoint网站web.config。 (我不需要它在那里执行登录,因为这是通过索赔。) – Rob 2011-06-03 14:29:01