| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1721 人关注过本帖, 1 人收藏
标题:VB 登陆用户分级怎么实现啊?
只看楼主 加入收藏
coffecat1119
Rank: 2
等 级:论坛游民
帖 子:166
专家分:84
注 册:2008-6-19
结帖率:96.88%
收藏(1)
已结贴  问题点数:100 回复次数:14 
VB 登陆用户分级怎么实现啊?
数据表  设计如下:
   admin_id   user    pass    qx  
    001       admin   admin    system
    002     ldy      ldy       putong
其中admin_id 为管理员编号   user 为用户名     Pass为密码   qx为权限
表名为gl
基本窗体两个  frm_login(登陆窗体)    frm_main(系统主窗体)
要实现的效果,系统登陆成功后 判断如果是普通用户权限 则不能使用   
frm_main  上的xiugai  和shanchu  按钮
应该怎么写啊,没个思路啊,翻了基本书也没找到合适的例子,最好哪位大哥能给个例子看下,我看看自己练习下就会了,先谢谢了
搜索更多相关主题的帖子: 成功 密码 用户名 system 管理员 
2011-11-14 16:22
apple0072011
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:9
帖 子:249
专家分:989
注 册:2011-8-17
收藏
得分:20 
   admin_id   user    pass    qx  
    001       admin   admin    system
    002     ldy      ldy       putong
1、建立权限表:姑且将你在数据表中所谓的权限称之为权限组,即:001属于权限组SYSTEM,002属于权限组PUTONG,建立一张权限表,如下:
qxz       qx1    qx2    qx3    qx4    qx5    qx6……qxn
system    1      1      1       1      1       1        1
putong    0      1      0       1      0       1        0
上述表中1代表具有权限,0代表不具有权限,其中qx1,qx2  qxn 应与菜单一致
2、在菜单表单的activate 事件中根据选择用户的权限组所具有的权限对菜单项的"Enabled"属性进行设置

天道酬勤
2011-11-14 16:53
husiwen
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:2
帖 子:227
专家分:1125
注 册:2010-5-23
收藏
得分:20 
用户登录的时候。都从数据库查出qx 在根据用户的权限设置button的属性
2011-11-14 21:00
W11400661
Rank: 8Rank: 8
来 自:达拉达斯
等 级:蝙蝠侠
威 望:2
帖 子:163
专家分:834
注 册:2008-10-12
收藏
得分:20 
好大的阵势
2011-11-14 21:35
Artless
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:4211
专家分:28888
注 册:2009-4-8
收藏
得分:20 
按钮.Enabled=False

无知
2011-11-14 23:03
coffecat1119
Rank: 2
等 级:论坛游民
帖 子:166
专家分:84
注 册:2008-6-19
收藏
得分:0 
回复 楼主 coffecat1119
谢谢大家,能否给份源码看一下啊,这样凭空说看得一头雾水的

[ 本帖最后由 coffecat1119 于 2011-11-15 08:44 编辑 ]
2011-11-15 08:42
coffecat1119
Rank: 2
等 级:论坛游民
帖 子:166
专家分:84
注 册:2008-6-19
收藏
得分:0 
回复 2楼 apple0072011
大哥你好:你这种方法应该是要同时交叉查询两个数据表的吧,交叉表查询对于我们新手来说难了点儿,大哥你能否给份简单点儿的案例源码学习一下啊,谢谢你了
另外请教下能否把权限传递给某一变量,然后随时一句话简单调用啊,就像ASP中用SESSION 或者cookies传递变量那样的

[ 本帖最后由 coffecat1119 于 2011-11-15 08:48 编辑 ]
2011-11-15 08:45
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4947
专家分:30084
注 册:2008-10-15
收藏
得分:20 
你把用户先分成三大类,管理员,一般用户 和 特权用户。

如 QX=0 一般用户,
   QX=1  管理员,
   QX〉1 为 特权用户。具有某部分权限的用户,这个是用户组,但允许一个组只有一个用户。

登陆时,判断当前用户所属类别 ,如果是一般用户,那就禁用 所有的功能就是了。

登陆后,然后再读具体的权限表。
权限表里,保存只是特权用户的 权限, 管理员是直接开所有的权限,不需要用权限表。
我以前用到的权限表是:
功能,允许的用户组。
功能:字符型,指定菜单项 的编号,每个菜单项都有一个具体的编号,该编号是在写程序时指定的,可以按菜单名或缩写
允许的用户组:字符型,所有的允许的特权用户组编号 连接起来的 字符符, 用 逗号分隔,并且在最前面,最后面也要加逗号。判断时,使用 instr(1,权限,"," & 用户组编号 & "," )>1 来判断有权限。
权限表,不需要特意去增加数据。
我的处理是:查询权限是使用一个 函数,该函数返回值是 逻辑型(真、假)
该函数根据传入的 菜单编号,和当前权限,先查 权限表,
如果权限表中无此编号,添加记录,设置允许的用户组为空。
如果权限为 0 ,也就是一般用户,直接返回 假
如果权限为 1 ,也就是管理员,返回 真
如果权限表中有此编号,判断权限,返回结果


另外还有一个 特权用户组名 及编号 对应表。
编号,用户组名
编号:流水号,范围在 2,流水号为1 的那个要强制不使用。

授人于鱼,不如授人于渔
早已停用QQ了
2011-11-15 09:02
apple0072011
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:9
帖 子:249
专家分:989
注 册:2011-8-17
收藏
得分:0 
test.rar (12.31 KB)

根据你的要求做了一个简单的实例,仅供参考,共同学习

解压后放在D盘根目录

[ 本帖最后由 apple0072011 于 2011-11-15 10:08 编辑 ]

天道酬勤
2011-11-15 10:06
coffecat1119
Rank: 2
等 级:论坛游民
帖 子:166
专家分:84
注 册:2008-6-19
收藏
得分:0 
回复 9楼 apple0072011
谢谢大哥
2011-11-15 10:18
快速回复:VB 登陆用户分级怎么实现啊?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.035094 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved