加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc-4 – 如何在MVC4中使用SimpleMembership重置或更改

发布时间:2020-12-16 00:41:16 所属栏目:asp.Net 来源:网络整理
导读:我一直在使用MVC4互联网模板编写一个Web应用程序。我真的不需要任何复杂的用户管理,所以我去了默认的SimpleMembershipProvider。我正在初始化App_Start的成员资格,我有角色和用户设置和工作。我不使用SSO或任何其他OAuth功能。现在我有一个测试者已经忘记
我一直在使用MVC4互联网模板编写一个Web应用程序。我真的不需要任何复杂的用户管理,所以我去了默认的SimpleMembershipProvider。我正在初始化App_Start的成员资格,我有角色和用户设置和工作。我不使用SSO或任何其他OAuth功能。现在我有一个测试者已经忘记了他的密码,并且在谷歌搜索整天后,我意识到我不知道如何重置他的密码或改变它!

我已经阅读了文档,发现ResetPassword函数is not supported if using SimpleMembership.我的问题是,我如何:

>从SimpleMembership切换到使用SimpleMembership表和格式的标准成员资格
>将用户的密码重置为我指定的内容?

我发现web.config设置(理论上)设置成员提供者使用SimpleMembership,但我不知道如何指定要使用的表(假设这是正确的方法)。

web.config部分:

<roleManager enabled="true" defaultProvider="SimpleRoleProvider">
  <providers>
    <clear/>
    <add name="SimpleRoleProvider" type="WebMatrix.WebData.SimpleRoleProvider,WebMatrix.WebData"/>
  </providers>
</roleManager>
<membership defaultProvider="SimpleMembershipProvider">
  <providers>
    <clear/>
    <add name="SimpleMembershipProvider" type="WebMatrix.WebData.SimpleMembershipProvider,WebMatrix.WebData" />
  </providers>
</membership>

和我(想)我需要在web.config中的当前InitializeDatabaseConnection:

WebSecurity.InitializeDatabaseConnection("UPEFSSecurity","Datamart_User","UserId","UserName",autoCreateTables: true);

解决方法

要正确执行此操作,您需要设置电子邮件恢复链接。但这里是您将要做的API调用:
var token = WebSecurity.GeneratePasswordResetToken(username);
// create a link with this token and send email

// link directed to an action with form to capture password
WebSecurity.ResetPassword(token,password);

http://msdn.microsoft.com/en-us/library/webmatrix.webdata.websecurity.resetpassword(v=vs.111).aspx

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读