Els*_*mer 18 asp.net-mvc-4 simplemembership
我一直在使用MVC4 Internet模板编写Web应用程序.我真的不需要任何复杂的用户管理,所以我选择了默认的SimpleMembershipProvider.我正在初始化App_Start中的成员资格,我有角色和用户设置和工作.我没有使用SSO或任何其他OAuth功能.现在我有一个忘记密码的测试人员,在谷歌搜索一整天后,我发现我不知道如何重置密码或更改密码!
我已阅读文档,发现如果使用SimpleMembership则不支持 ResetPassword功能.我的问题是,我怎么做:
我发现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>
Run Code Online (Sandbox Code Playgroud)
以及我认为我需要在web.config中拥有的当前InitializeDatabaseConnection:
WebSecurity.InitializeDatabaseConnection("UPEFSSecurity", "Datamart_User", "UserId", "UserName", autoCreateTables: true);
Run Code Online (Sandbox Code Playgroud)
Jas*_*sen 45
要正确执行此操作,您需要设置电子邮件恢复链接.但这是你要做的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);
Run Code Online (Sandbox Code Playgroud)
http://msdn.microsoft.com/en-us/library/webmatrix.webdata.websecurity.resetpassword(v=vs.111).aspx
| 归档时间: |
|
| 查看次数: |
22465 次 |
| 最近记录: |