注册 登录
编程论坛 PowerBuilder

[求助]关于权限管理的问题

xg031 发布于 2006-06-26 13:27, 836 次点击
怎样根据菜单设置用户的权限,如A用户能用m_m1菜单,B用户能用m_m2菜单,而C两个菜单都能用
6 回复
#2
ヤ順祺冄繎ヤ2006-06-27 12:46
请看我的博客里面有一篇关于PB设置权限的文章..

#3
xg0312006-06-28 22:07
你的博客的地址?
#4
ykserver2006-06-29 08:01
设一个字段去读,如果存在则有权限,如果不存在则无权限,很简单。
#5
fgypblt2006-06-29 10:13
菜单项较少时,menu.visible=false (如m_main.m_1.visible=false )即可。而且可设好某用户对应某些menu,调用。
#6
fgypblt2006-06-29 10:32
menu.visible方法在二楼朋友的博客上讲的很清楚,作为临时方法。一般在程序开发前的计划书上,业务类别、相关权限是有的,开发时建议分设对应菜单。以上针对0~30客户机程序。
大型通用程式,用户、部门、权限均交由窗口基类开发组,开发好可连续使用在若干版本软件中。个人开发建议加强客户端操作的数据表的开发,如每日维护为一个系统管理业务权限,设其model_id为101(业务),syssub_id为1(系统),menu_level为3,12,其他有用户表、用户特权表、model表....
多找些资料系统性的学学....,随着理解的深入 开发的代码 优劣一目了然。

进博客? 点击'短信'标签旁......dede无语了
#7
kittymaomi2006-06-29 11:50

先建立一个数据库~
然后定义2个变量~==================golobal variables 中写:
string usename, level

=================instance variables
int count = 0

登陆窗口的确定中写
string id, pass
string l_id,l_pass
l_id=sle_1.text
l_pass=sle_2.text
select useid,usename,password,level
into :id, :usename, :pass, :level
from denglu
where denglu.useid=:l_id;
if id=""then
messagebox("","用户不存在!")
return
end if
if l_pass=pass then
open(w_1)
else
count++
messagebox("","密码错误!")
if count=3 then
messagebox("","您无权使用本系统!")
halt
end if
end if


再在后面那个窗口中写

close(w_log)
if level = "1" then
this.changemenu(m_gaoji)
end if
if level = "0" then
this.changemenu(m_putong)

end if
this.title = usename

就可以了`
如果还有问题给我发邮件:mm330@163.com


1