如何利用 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
条件加进去。
如何利用 MembershipUser 更改密码的更多相关文章
- mysql 更改密码
Mac 安装mysql时会生成一个默认密码: 这个可以在通知中找到,如果你需要更改密码则继续看下面, 今天给mac安装了MySQL,安装过程非常的顺利,但是在用一个可视化工具进行连接时,需要输入密码, ...
- jenkins SVN更改密码后出现的坑爹问题
1.前提 公司SVN账号密码和AD账号密码是绑定在一起的,为了保证代码检出总是最新,jenkins中做代码检查前总会从SVN中检出最新代码. 最近公司要求AD账户不得使用原始密码,更改密码后,jenk ...
- Oracle不知道用户密码情况下,如何在不更改密码的前提下解锁用户或者延期密码有效期
1.问题描述: 生产环境,zabbix告警业务用户密码即将过期,但是如何不知道业务用户密码的情况下来解决该问题? 2.实验一: 1)创建新的用户test,并授予test resource角色和conn ...
- MySQL5.7更改密码时出现ERROR 1054 (42S22): Unknown column 'password' in 'field list'
转自:http://blog.csdn.net/u010603691/article/details/50379282 新安装的MySQL5.7,登录时提示密码错误,安装的时候并没有更改密码,后来通过 ...
- Windows Server 2016-批量设置用户下次登陆须更改密码
Powershell设置某OU下所有用户下次登陆必须更改密码: Get-ADUser -Filter * -SearchBase "ou=syncall,dc=azureyun,dc=com ...
- Teamviewer远程ssh命令行更改密码启动
Teamviewer远程ssh命令行更改密码启动 设置密码 $ sudo teamviewer passwd [NewPasswd ] 查看teamviewer信息 $ teamviewer info ...
- centos6.5安装Mysql5.6及更改密码
(一) centos6.5安装Mysql5.6 二进制文件安装的方法分为两种: 第一种是不针对特定平台的通用安装方法,使用的二进制文件是后缀为.tar.gz的压缩文件: 第二种是使用RPM或其他包进行 ...
- AIX 批量更改密码
使用 chpasswd 可以使用 chpasswd 方便地更改单个或多个账户密码.这意味着不需要像平时一样在命令行上重复输入密码.尽管可以以交互方式使用 chpasswd,但是我建议以非交互方式使用它 ...
- 利用itertools生成密码字典,多线程撞库破解rar压缩文件密码
脚本功能: 利用itertools生成密码字典(迭代器形式) 多线程并发从密码字典中取出密码进行验证 验证成功后把密码写入文件中保存 #!/usr/bin/env python # -*- codin ...
随机推荐
- Kafka单机版安装(CentOS 7环境下)
一.环境操作系统和软件版本介绍 1.环境操作系统为CentOS Linux release 7.2.1511 (Core) 可用cat /etc/redhat-release查询 2.软件版本 Kaf ...
- on事件绑定阻止冒泡的问题
当使用on进行事件绑定时当要给document绑定click,而子元素要禁止冒泡,那么子元素里面的子元素的click事件就会无效了, 下面无效版: $('#queue').on('click', '. ...
- JDK根目录介绍
/bin 存放可执行程序(编译器javac.exe 运行器java.exe 文档生成器javadoc.exe等 ). /db 小型数据库文件. /jre JRE. /include 形成jdk的c. ...
- haproxy(1)
参考文档: http://cbonte.github.io/haproxy-dconv/1.5/configuration.html 一.Haproxy 软件负载均衡一般通过两种方式来实现:基于操作系 ...
- sqlserver 操作xml
1.xml.exist 输入为XQuery表达式,返回0,1或是Null.0表示不存在,1表示存在,Null表示输入为空 2.xml.value 输入为XQuery表达式,返回一个SQL ...
- 矩阵赋值实例(matrixAssign)
题目:给一个二维数组赋值. 分析:主机端代码完成的主要功能: 启动CUDA,使用多卡时应加上设备号,或使用cudaSetDevice()设置GPU设备. 为输入数据分配内存空间 初始化输入数据 为GP ...
- clone远程代码及push
clone远程代码1. git bash进入 git文件夹2. 从远程直接clone: git clone root@109.110.100.56:/usr/src/git-2.1.2/data/gi ...
- 逆向思维 UVA 11853
题目大意:紫书175 思路:看书...2333 关键点就是利用已知条件来逆向思考是否能走通,而不是傻傻的从某个点开始出发啊啥的.
- jmeter里json path postprocessor的用法
后置处理器添加 json path postprocessor. 用处: 当前接口响应返回的json中提取内容,作为变量可以在不同的请求中传递. 如下,从登陆接口返回的json中提取user id,变 ...
- python 学习 [day7]面向对象
编程模式概念 面向过程:根据业务逻辑从上到下写垒代码 函数式:将某功能代码封装到函数中,日后便无需重复编写,仅调用函数即可 面向对象:对函数进行分类和封装,让开发“更快更好更强...” 面向对象的三大 ...