以文本方式查看主题

-  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
--  


图片点击可在新窗口打开查看此主题相关图片如下:qq图片20130604181643.jpg
图片点击可在新窗口打开查看

 


按帮助格式建立起来的自定义用户管理系统,使用自定义用户管理系统(用外部数据源),用户更改密码后必须使用新密码才能登录,但在用户管理表中记录的密码本身没有发生变化,是正常情况吗? 现发布图片求答。


--  作者: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
--  
明白了,非常感谢,