| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 861 人关注过本帖
标题:跟大家请教一个设置权限问题
只看楼主 加入收藏
梦泽雨羲
Rank: 2
等 级:论坛游民
帖 子:14
专家分:20
注 册:2015-7-29
结帖率:66.67%
收藏
已结贴  问题点数:20 回复次数:19 
跟大家请教一个设置权限问题
跟大家请教一个问题
我做了一个登陆界面,登陆后判断用户权限。现在有一个问题,就是我在module中写了一个查询权限的函数,比如
'添加用户
 If Mid(str, 4, 1) = 1 Then
    Form_ = True
 Else
    Form_ = False
 End If

我只是需要让这个按键根据权限可用或者不可用,
现在的问题是,每次登陆,这个按键所在的窗体就会弹出来
图片附件: 游客没有浏览图片的权限,请 登录注册

图片附件: 游客没有浏览图片的权限,请 登录注册
2015-07-29 14:10
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4938
专家分:30047
注 册:2008-10-15
收藏
得分:1 
好吧,看了半天,没测试,只是想了一下。

你显式修改按钮属性,当这个按钮所在的窗体没有加载时,会导致该窗体隐式被加载。

权限控制,我的理解应该是保存到内存里的,而不是保存到控件属性里的。因为控件可能被删掉。

按你的 权限控制,建议使用 结构体来保存。
public type 权限控制结构
    系统管理 as boolen
    ........
end type

每次需要使用到这个功能时,在初始化进程中,读取这个结构,根据这个结构来初始化各个控件的属性。

授人于鱼,不如授人于渔
早已停用QQ了
2015-07-29 14:44
梦泽雨羲
Rank: 2
等 级:论坛游民
帖 子:14
专家分:20
注 册:2015-7-29
收藏
得分:0 
回复 2楼 风吹过b
首先非常感谢版主的耐心解答,这个问题困扰我两天了一直没明白控件所在的窗体为啥会加载。
我想实现的效果是,不同人登陆,进去的是同一个窗体,只是权限不同,相应的控件是灰的不可操作,比如一般用户只能修改密码,不能删除用户
,版主能不能帮我分析下这个思路到底存在什么问题?
万分感谢
2015-07-29 15:14
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
这个思路是没有问题的  你的权限表 是以何种形式存在的

DO IT YOURSELF !
2015-07-29 15:21
梦泽雨羲
Rank: 2
等 级:论坛游民
帖 子:14
专家分:20
注 册:2015-7-29
收藏
得分:0 
回复 4楼 wp231957
是放在access用户表里的一串字符
图片附件: 游客没有浏览图片的权限,请 登录注册
2015-07-29 15:30
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:1 
那首先进入用户眼中的是一个登陆界面  然后验证密码同时根据用户权限去设置相应的按钮的  是否可用

在另某个窗体作为顶层显示时  隐藏其他窗体 或者注销其他窗体

DO IT YOURSELF !
2015-07-29 15:34
梦泽雨羲
Rank: 2
等 级:论坛游民
帖 子:14
专家分:20
注 册:2015-7-29
收藏
得分:0 
回复 6楼 wp231957
对的,就是这样。用户登陆,同时检测权限,然后设置相应的控件属性。你的意思是在设置这些控件属性时,所在的窗体自动被加载了,我需要在主界面卸载该窗体,是吗?
我先去试试
非常感谢
2015-07-29 15:39
梦泽雨羲
Rank: 2
等 级:论坛游民
帖 子:14
专家分:20
注 册:2015-7-29
收藏
得分:0 
回复 6楼 wp231957
图片附件: 游客没有浏览图片的权限,请 登录注册

我在登陆窗体事件中加了unload,达到了效果,但是发现了一个新问题
图片附件: 游客没有浏览图片的权限,请 登录注册

登陆
图片附件: 游客没有浏览图片的权限,请 登录注册

正常进入主界面,放了一个textbox显示当前用户的权限值,正常
图片附件: 游客没有浏览图片的权限,请 登录注册

进去菜单,正常
图片附件: 游客没有浏览图片的权限,请 登录注册

这个时候卸载主界面,进入管理界面,增加按键应该是不可控才对,取消,重新加载主界面
图片附件: 游客没有浏览图片的权限,请 登录注册

发现主界面重新加载后数据丢失了
图片附件: 游客没有浏览图片的权限,请 登录注册

一开始以为是变量的事,改成全局变量,还是一样

我感觉有点问题,但是又说不清,你能帮我分析一下吗
2015-07-29 17:15
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4938
专家分:30047
注 册:2008-10-15
收藏
得分:1 
使用模块的里定义的全局变量来 保存 权限数据。
这样的 定义的全局变量才不会受 窗体卸载 而造成 数据丢失。

在VB里存在 四种文件可以有代码。

OCX ,自定义控件
BAS ,模块,这里定义的全局变量才是整个工程可见的全局变量。
FRM ,窗体,这里定义的全局变量,是整个窗体可见的全局变量,当窗体不存在时,变量会被清除。
CLS ,类

你前面说的定义了全局变量,我感觉你是定义在 FRM 窗体里面,才会出现你所说的 数据丢失情况。

授人于鱼,不如授人于渔
早已停用QQ了
2015-07-29 17:44
梦泽雨羲
Rank: 2
等 级:论坛游民
帖 子:14
专家分:20
注 册:2015-7-29
收藏
得分:0 
回复 8楼 梦泽雨羲
嗯,就是在模块里定义的全局变量
图片附件: 游客没有浏览图片的权限,请 登录注册
2015-07-30 12:13
快速回复:跟大家请教一个设置权限问题
数据加载中...
 
   



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

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