如何利用 MembershipUser 更改密码

如何利用

 MembershipUser 

更改密码

 

作者:

vkvi 

来源:千一网络

(原创)

 

时间:

2009-3-11  

 

完美集成、增强

 KindEditor HTML 

编辑器

 

 ASP.NET 

自带的成员资格中对改用户密码一事搞得很复杂。

MembershipUser 

有个

方法叫

 ChangePassword 

可以改密码,但要求先输入原密码。如果用户已经忘记了原密码,

叫管理员重新设置一个密码,该方法就办不到了。

 

不输入原密码重设密码的方法有二:

 

方法一

 

首先在配置文件中将

 enablePasswordReset 

设置为

 true

requiresQuestionAndAnswer 

设置为

 false

也就是说允许密码重置,

禁止用问题和答案找

回密码。关于如何设置,

请参见:

ASP.NET 

成员资格-配置

 Membership 

中为被锁定用

户重设密码

 

然后是代码:

 

MembershipUser user = Membership.GetUser("

用户名

"); 

string password = user.ResetPassword(); //

重置一个随机密码

 

user.ChangePassword(password, "

新密码

"); //

用指定的密码设置

 

方法二

 

这种方法就不用禁用问题和答案了,但它不能想设成哪个密码就设成哪个密码,它的

原理是:将数据库中已知的密码的加密字符串更新到要修改密码的用户中。步骤是:

 

 

已经丢失密码的用户名叫

 cftea

,另外一用户的用户名是

 admin

,密码是

 1234567

我们可以在表

 aspnet_Users 

中通过用户名找到

 cftea 

 admin 

 UserId

 

 

 

然后再到表

 aspnet_Membership 

中通过

 UserId 

找到

 Password 

 PasswordSalt 

的值。

 

 

 admin 

那个用户对应的

 Password 

 PasswordSalt 

 

值更新到

 cftea 

对应的字

段。

 

 

此时

 cftea 

的密码就和

 admin 

一样了。

 

如果我们有多个应用程序在使用同一个库,

那么应该先到

 aspnet_Applications 

中找

到相应的应用程序的

 ApplicationId

,然后在

 aspnet_Users 

中查找

 UserId 

时应该把

 

ApplicationId 

也作为

 where 

条件加进去。

转载于:https://www.cnblogs.com/TNSSTAR/p/3987928.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值