首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在MVC4中使用SimpleMembership重置或更改密码?

如何在MVC4中使用SimpleMembership重置或更改密码?
EN

Stack Overflow用户
提问于 2013-02-26 05:02:13
回答 1查看 22.8K关注 0票数 18

我一直在使用MVC4互联网模板编写web应用程序。我真的不需要任何复杂的用户管理,所以我使用了默认的SimpleMembershipProvider。我正在初始化App_Start中的成员资格,并且我已经设置了角色和用户并开始工作。我没有使用单点登录或任何其他OAuth特性。现在我有一个测试者忘记了他的密码,在谷歌了一天之后,我意识到我不知道如何重置或更改他的密码!

我通读了文档,发现ResetPassword函数is not supported if using SimpleMembership。我的问题是,我该如何:

  1. 从SimpleMembership切换到使用SimpleMembership表和格式的标准成员身份
  2. 将用户密码重置为我指定的值?

我已经找到了(理论上)将成员资格提供程序设置为使用SimpleMembership的web.config设置,但我不确定如何指定要使用的表(假设这是正确的方法)。

web.config部分:

代码语言:javascript
复制
<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:

代码语言:javascript
复制
WebSecurity.InitializeDatabaseConnection("UPEFSSecurity", "Datamart_User", "UserId", "UserName", autoCreateTables: true);
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-02-26 05:37:57

要正确执行此操作,您需要设置电子邮件恢复链接。但下面是您将进行的API调用:

代码语言:javascript
复制
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

票数 45
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15076446

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档