日期:2014-05-19  浏览次数:20570 次

如何使新用户首次登陆后强制修改密码?
要做一个MIS系统,用户是一个特定的群体,初始密码已经给定。要求用户在第一次登录的时候强制修改密码(转到修改密码页面),问如何实现(C#)

------解决方案--------------------
建一个用户浏览历史表...
------解决方案--------------------
建一张表,记录第一次登陆的时间和用户名,然后判断是否第一次登陆,是的话就跳转修改密码页面;
------解决方案--------------------
use a field to set the status,when user login ,
if(status== "未修改 ")
{
//update the pwd
}
------解决方案--------------------
xiaoyu85 说的没错,

只要注册用户就在数据库的相应字段设置一个初始值,等用户登陆先去判断这个字段是否是初始值如果是 就让用户修改就可以了
------解决方案--------------------
不用那么复杂,其实楼主的意思,可以通过简单的比较现在的密码跟初始密码是否一致,若一致就提示不安全,并重定向到密码修改页面。
这样不用修改数据库,目的也达到了。而且可以应付变化,比如用户在修改密码时发生错误(错误是随时都可能发生的),重新登录后就是第二次登录了,但其实还需要提示修改。
------解决方案--------------------
做登录日志就行了。
------解决方案--------------------
呵呵,不用那么复杂,加个标志位标记是否改过密码就可以了,如果为0,强制修改密码,不管修改几次,只要修改,就置为1。
------解决方案--------------------
在用户表增加一列最后登陆时间
每次登陆update这个时间
如果为null就说明用户为第一次登陆
--------------------
这样既实现楼主的需求,又多了一个可以监控长时间未登陆的用户,两全其美....
------解决方案--------------------

看你的意思,好象类似办理的医保存折的初始密码一样,所有人的都一样。

如果密码都是一样的话:比如都是123456 ,那么:

什么都不要,只是在登录的时候判断一下是不是用的初始密码,如果是的话就跳到要他修改密码的地方就行了,既不要什么状态也不是什么次数。


------解决方案--------------------
其实像 CaptainV 说的判断用户的密码是不是6个1,我觉得还是不行,如果用户修改密码后还是6个1呢,也就是说用户的新密码也是6个1,像这种情况就不好办了。

我建议在数据库表中加一个bit类型或者int类型的字段,默认为0
用户登陆时判断该字段是否为0,如果是的话就修改密码,同时将该字段修改为1

这样的话只有第一次登陆时该字段为0,修改密码后该字段为1,所以只有第一次登陆时
提示修改密码