以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 请教一个问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=34290) |
-- 作者:sxqq123 -- 发布时间:2013/6/4 16:03:00 -- 请教一个问题 使用自定义用户管理系统,用户更改密码后必须使用新密码才能登录,但在用户管理表中记录的密码本身没有发生变化,是正常情况吗? |
-- 作者:Bin -- 发布时间:2013/6/4 16:10:00 -- 你是自定义用户管理系统,还是狐表自带的管理系统(用外部数据源) 自定义管理系统,你表里面的密码没变的话,你验证的时候用什么来验证的?
|
-- 作者:狐狸爸爸 -- 发布时间:2013/6/4 16:12:00 -- 一个可能: 你更改密码的时候,是用update直接写入后台数据,这个时候,你已经加载的用户表还是原来的密码,除非重新加载。 既然用户数据表已经加载,那么直接修改用户表中对应用户的密码,然后保存即可,无需用update语句。
此外,新的版本一般来说,没有必要自定义用户管理了,因为: http://www.foxtable.com/help/topics/2723.htm http://www.foxtable.com/help/topics/2729.htm
|
-- 作者:sxqq123 -- 发布时间:2013/6/4 18:21:00 --
|
-- 作者:sxqq123 -- 发布时间:2013/6/4 18:23:00 -- 此主题相关图片如下:111.jpg |
-- 作者:狐狸爸爸 -- 发布时间:2013/6/4 18:24:00 -- 呵呵额,我三楼的回复你看了吗? 按照这个检查了吗?
搞不定就做个例子发上来,谁也没有办法凭空判断的哦。 |
-- 作者:sxqq123 -- 发布时间:2013/6/4 18:30:00 -- 更改密码的时候是用update直接写入后台数据,不清楚?更改密码是更换用户后更改密码测试,发现外部数据源中用户管理表中密码列内容不变,如:用户更改密码为666,使用666可以正常登录,使用888则显示密码错误,说明密码更改已生效,密码列不发生变化不清楚原因,需要修改吗?感觉用户更改是发生作用了 |
-- 作者:狐狸爸爸 -- 发布时间:2013/6/4 18:47:00 -- 呵呵,不知道怎么和你说,最好的办法是多看几遍帮助。
其实帮助中的自定义用户管理,全部用的是sql语句,因为帮助的例子,用户表并没有加载,所以直接用sql语句读写数据库。 而你的系统,用户表是加载了的,例如某个用户的密码是888,用户表加载进来后,该用户的密码是888,你用update语句将这个的密码改为666(Update修改的是后台数据文件,不是加载好的表),用户表中这个用户的密码还是888,除非你重新加载用户表的数据,用户登陆的时候,比较的是后台数据库的密码,也就是和666比较,不是和DataTable中的888比较。
一句话: Datatable中的数据和后台的数据并不总是相同,就像你在DataTable中修改某个值,后台的值并不会改变,直到你保存,同样用Update语句修改后台的数据,DataTable中的值也不会变化,除非你重新加载。
你就粗暴一些吧,在所有更改用户名、删除用户、更改密码等按钮的后面加一行代码:
DataTables("用户表名称").Load()
既然要用sql, 就好好看看这一章吧,从这一节开始: http://www.foxtable.com/help/topics/0687.htm
我很努力地解释,希望你能明白,如果不明白,我也没办法再解释了。
[此贴子已经被作者于2013-6-4 18:53:42编辑过]
|
-- 作者:sxqq123 -- 发布时间:2013/6/5 9:08:00 -- 明白了,非常感谢, |