我有一个带有声明身份验证和FBA设置的SP站点。 Dual auth Win / Forms工作正常。
我在应用页面上有一个asp:PasswordRecovery控件。 它似乎正确地查找帐户 - 如果找不到用户名,则返回“未找到”消息。但是,它无法使用以下execption重置密码:
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”。
答案 0 :(得分:1)
这可能没有帮助,因为您似乎正在正确地查找用户...但如果您不这样做,我知道您可能遇到未实现的问题:
确保使用适当的成员资格提供程序获取用户的实例。
e.g。
MembershipUser myUser = Membership.Providers["aspMembership"].GetUser(userName, false);
希望这有帮助。