我想重置用户密码。我有一个类似以下代码的方法。 EnablePasswordReset
不会覆盖,因为它是抽象的。我已经更改了 web.config。但还是报错:
Password reset is not enabled. Set the EnablePasswordReset property of the membership provider to true.
如何EnablePasswordReset
值设置true
?
public static string ResetCurrentUserPassword(string userName)
{
MembershipProvider p = (MembershipProvider)Membership.Providers["Default"];
//p.EnablePasswordReset value false;
MembershipUser obj = Membership.GetUser(userName);
return obj.ResetPassword();
}
网络配置
<siteMap defaultProvider="SitefinitySiteMap">
<providers>
<add name="SitefinitySiteMap" type="Telerik.Sitefinity.Web.SitefinitySiteMap, Telerik.Sitefinity" enablePasswordReset="true" taxonomyProvider="OpenAccessDataProvider" pageTaxonomy="Pages" rootNode="FrontendSiteMap" pageProvider="OpenAccessDataProvider"/>
</providers>
</siteMap>
<roleManager enabled="false"/>
<membership defaultProvider="Default">
<providers>
<clear/>
<add name="Default" type="Telerik.Sitefinity.Security.Data.SitefinityMembershipProvider, Telerik.Sitefinity" enablePasswordReset="true"/>
</providers>
</membership>
最佳答案
在您的web.config
文件中设置;
enablePasswordReset="true"
查看MSDN示例;
<membership defaultProvider="SqlProvider" userIsOnlineTimeWindow="20">
<providers>
<add name="SqlProvider"
type="System.Web.Security.SqlMembershipProvider"
connectionStringName="SqlServices"
enablePasswordRetrieval="false"
enablePasswordReset="true"
requiresQuestionAndAnswer="true"
passwordFormat="Hashed"
applicationName="MyApplication" />
</providers>
</membership>
你说,你以前做过,请像这样检查你的代码隐藏;
if (!Membership.EnablePasswordReset)
{
}
检查您的成员(member)是否真的在使用它。
关于c# - 在成员(member)中启用密码重置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14932835/