带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){...};
不知道你们做权限是如何设计的?给点参考参考谢谢!~
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){...};
不知道你们做权限是如何设计的?给点参考参考谢谢!~
解决方案 »
- Windows服务打印,使用CreateProcessAsUser 为什么会句柄无效?
- 发布基于.Net Framework三层框架Conis.Squirrel测试版,顺便散点分
- winfrom执行一网页问题
- 急求啊,在线等啊!!!!各位达人帮忙!!!下午就要交了!!!帮帮我!!
- 有没有ASP.NET或C#的TXT文档的书籍,最好基础的???
- 急急!!!关闭程序错误问题!!!!!!!!
- 面试题
- DotNetBar的别针怎么设置成不处在别住的状态?
- listbox两级联动根据listbox中的信息查找数据库的问题
- .net调用非托管dll,debug和release版本结果不同!
- 水晶报表问题,100分相送,图表区还有50分,帮顶者有分
- 请问是否可以在子类中有选择地继承父类中的某个成员,而使其他成员隐藏
菜单就是从数据库中提取的,然后组合成TREEVIEW.
然后,还有一张用户与菜单表的对应表.这样,直接用SELECT语句控制权限就可以了.
数据库的性能还是很高的