以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  执行特殊操作需要管理员用密码授权时的设计问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=121268)

--  作者:andy-1024
--  发布时间:2018/7/3 3:39:00
--  执行特殊操作需要管理员用密码授权时的设计问题
老师好。我做了一个后台和一个前台,前台用于零售,收银员是不允许改价的,但是有时候商品存在瑕疵,这时就需要临时改价,或者继续销售一个名为“折扣”的商品,比如单价为-1元,折扣多少,数量就是多少。
我设计了一个小窗口,如果改价或者销售“折扣”的话,就弹出这个窗口,要求店长或者管理员输入自己的用户名和密码,如果用户名及密码都正确的话,则允许继续,否则不能。
我的系统使用的是外部数据表存储用户信息,我看了一下,密码都是加密的。
我的问题是,如何能判断输入的密码和外部数据表中存储的用户密码是一致的?

--  作者:aduydgd
--  发布时间:2018/7/3 7:51:00
--  
跟你的登陆逻辑差不多,搬过来就行了
--  作者:有点甜
--  发布时间:2018/7/3 8:54:00
--  
以下是引用andy-1024在2018/7/3 3:39:00的发言:
我的系统使用的是外部数据表存储用户信息,我看了一下,密码都是加密的。
我的问题是,如何能判断输入的密码和外部数据表中存储的用户密码是一致的?

 

输入的密码md5加密后和数据库的数据比较,比如

 

Dim dr As DataRow
dr = DataTables("用户表").Find("name = \'" & 管理员用户名 & "\'") 
If dr IsNot Nothing AndAlso dr("config").contains(MD5Encrypt(password)) Then

    msgbox("正确")

Else

    msgbox("错误")
End If

 


--  作者:andy-1024
--  发布时间:2018/7/5 5:23:00
--  
 ok,明白了。谢谢老师!
--  作者:andy-1024
--  发布时间:2018/7/5 5:54:00
--  

但是还有一个问题,我的外部用户表如下图:

 


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

 

Name列中没有“Administrator”这个用户呀?而且“Config”列中的Administrator后面也没有跟密码,如果是Administrator这个用户授权改价,该如何判断呢?


--  作者:有点甜
--  发布时间:2018/7/5 9:10:00
--  

开发者、管理员的授权,要这样判断

 

If user.Type = UserTypeEnum.Developer then

If user.Type = UserTypeEnum.Administrator Then

If user.Type = UserTypeEnum.User then

 

http://www.foxtable.com/webhelp/scr/0609.htm

 


--  作者:andy-1024
--  发布时间:2018/7/6 4:55:00
--  

那如何比较管理员的密码呢?毕竟不可能只凭管理员的用户名及类型就改价,那样设计这个小窗口就没有意义了。


--  作者:有点甜
--  发布时间:2018/7/6 9:04:00
--  
以下是引用andy-1024在2018/7/6 4:55:00的发言:

那如何比较管理员的密码呢?毕竟不可能只凭管理员的用户名及类型就改价,那样设计这个小窗口就没有意义了。

 

你可以再弄一个表格,把开发者、管理员的账号密码填写进去,然后根据此表数据比较。