SharePoint 2010 声明身份验证/FBA - 重置密码不起作用

发布于 2024-11-04 18:37:10 字数 1358 浏览 0 评论 0原文

我有一个带有索赔身份验证和亚马逊物流设置的 SP 网站。双重身份验证 Win/Forms 运行完美。

我在应用程序页面上有一个 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)  

提前致谢。

更新:
我补充道:
启用密码重置=“true”
到应用程序 web.config 和令牌服务 web.config

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

I have a SP site with Claims Authentication and FBA setup. Dual auth Win/Forms is working perfectly.

I have a asp:PasswordRecovery control on app page.
It appears to lookup the account correctly - returning 'not found' messages if the username is not found. However, it fails to reset the password with the following 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)  

Thanks in advance.

Update:
I added:
enablePasswordReset="true"
to the app web.config AND the token-service web.config

Wrote some some code to do a manual test, and still got this when my code tried to 'reset' the password:
This provider is not configured to allow password resets. To enable password reset, set enablePasswordReset to "true" in the configuration file.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

流殇 2024-11-11 18:37:10

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

确保使用适当的会员提供程序获取用户的实例。

例如

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

希望这有帮助。

This may not help since you seem to be looking up the user properly... but if you aren't doing this I know you can run into not implemented issues:

Make sure to get an instance of the user using the appropriate Membership Provider.

e.g.

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

Hope this helps.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文