求救权限设计问题(winform)

jess2004 2006-03-29 05:14:01
带CHECK权限树,我是这样的,为每个节点都设置一个ID号,如果该节点具有权限就把该ID号保存到数据库(即01|11|02|12),到时候程序运行打开一个窗体判断某个按钮有没具有权限也是根据ID号来的,该ID号要跟权限树里的ID号一一对应,放到一个公共变量里,到时候就判断该ID号能不能在数据库中查找到,找到就具有该权限,没找到就没有权限,
public bool roleunique(string ItemUnique) //判断权限
{
bool boo=false;
string[] GUserRole=role.split("|"); //role为具有权限的值
for (int i = 0; i < GUserRole.Length - 1; i++)
{
if (GUserRole[i].IndexOf(ItemUnique.ToString()) >= 0)
{
boo=true;
break;
}
}
return boo;
}

public bool roleunique_btn(string ItemUnique,button btn) //判断按钮权限
{
bool boo=roleunique( ItemUnique);
if (!boo)
{
btn.visible=false;
}
}

调用:
if (A模块)
{
rolLookIChg:=rolSELclLookIChg0; //rolSELclLookIChg为公共变量=01
rolLookCChg:=rolSELclLookCChg0; //rolSELclLookCChg=11
}else if(B模块)
{
rolLookIChg:=rolSELclLookIChg1; //rolSELclLookIChg为公共变量=02
rolLookCChg:=rolSELclLookCChg1; //rolSELclLookCChg=12
} //如果这里模块多的话,这方法很不好N个模块就有N个判断,请问有什么方法解决吗?
bool rolchg=roleunique(rolLookIChg);
if (rolchg){...};
不知道你们做权限是如何设计的?给点参考参考谢谢!~
...全文
259 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
jess2004 2006-04-03
  • 打赏
  • 举报
回复
自己再顶
jess2004 2006-04-03
  • 打赏
  • 举报
回复
gzlyp 2006-03-31
  • 打赏
  • 举报
回复
做个权限模块:1、首先要想到通用、不光是一个系统能用,
       部门---用户---角色----模块名---(之间的对应关系)
协助与讨论联系:25952312
khpcg 2006-03-31
  • 打赏
  • 举报
回复
权限可以直接在数据库里定义吗
jess2004 2006-03-31
  • 打赏
  • 举报
回复
UP
jess2004 2006-03-30
  • 打赏
  • 举报
回复
来人呀,帮帮忙呀
SamG9527 2006-03-30
  • 打赏
  • 举报
回复
我是通过建的两张数据库表解决的
菜单就是从数据库中提取的,然后组合成TREEVIEW.
然后,还有一张用户与菜单表的对应表.这样,直接用SELECT语句控制权限就可以了.
数据库的性能还是很高的
panzi667 2006-03-30
  • 打赏
  • 举报
回复
想了解
MonkWang 2006-03-30
  • 打赏
  • 举报
回复
帮顶
学习
jess2004 2006-03-30
  • 打赏
  • 举报
回复
功能多的,模块也多,功能多就需要许多个ID号,N个模块就需要N个判断
zwfhome1 2006-03-29
  • 打赏
  • 举报
回复
如果功能不多的话,我也这样处理过

用一字符串存权限例:"1010101",如第N个字符为1,则ID为N的功能具有权根,否则没有
jess2004 2006-03-29
  • 打赏
  • 举报
回复
UP

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧