通过验证的就显示,这样就可以操作。否则不显示或者转向。
解决方案 »
- DataGrid里的一个控件输入框问题,求解
- 单例,数据表,缓存的问题
- 求正则表达式
- 我的代码出错了,可改吗?
- 求一依次显示幻灯图片JS代码满意后在线马上结帐
- 不做程序员了,开了个花店,深圳华强北的兄弟有需要多关照呀,散分来啦!
- 启动项目按F5时出现这样的错误."系统找不到指定的文件",但是按ctrl+F5则可以正常运行,是什么原因.
- 如何能把WROD文档中的表格粘贴到TextBox控件里?
- 如何实现选择的用textbox的数据添加到另一个textbox中去,在一个网页中。
- 大型网站导航和页脚怎么处理
- .net页面,在本地机上很快就完全打开,可是在虚拟主机上明明下载完了却显示"正在打开网页 http...."
- word文档转换成Html文件
1、登录的人有什么权限,比如权限是54(具体代表如上所说的权限)。
2、控件显示的条件,比如个人可以访问还是部门用户可以访问,是只有查询权限还是有添加权限。然后可以写一个类,传递三个参数进去(登录人的权限,控件的用户等级,数据库操作权限),返回true或者false,例如
HyperLink2.Visible=controlBoolen(Session["popedom"].ToString(),128,2)
或者
if(controlBoolen(Session["popedom"].ToString(),128,2)!=true)
{
Response.Redirect("index.aspx");
}
public bool controlBoolen(string controlId,int controlOrgUse,int controlDbUse)
{
int intResult;
int controlPopedom;
bool controlOrgPop;
bool controlDbPop;
bool control;
string controlTemp=""; controlPopedom=Convert.ToInt32(controlId); // 判断数据库操作类型
Math.DivRem(controlPopedom,16,out intResult);
controlPopedom=controlPopedom-intResult; if (intResult>=8) // 判断删除权限
{
intResult=intResult-8;
controlTemp="8,";
}
if (intResult>=4) // 判断修改权限
{
intResult=intResult-4;
controlTemp=controlTemp+"4,";
}
if (intResult>=2) // 判断添加权限
{
intResult=intResult-2;
controlTemp=controlTemp+"2,";
}
if (intResult>=1) // 判断查询权限
{
intResult=intResult-1;
controlTemp=controlTemp+"1";
} if(controlTemp.IndexOf(controlDbUse.ToString())==-1 || controlTemp==null)
{
controlDbPop=false;
}
else
{
controlDbPop=true;
} // 判断人员操作类型
controlTemp=""; if (controlPopedom>=128) // 判断所有权限
{
controlPopedom=controlPopedom-128;
controlTemp="128,";
}
if (controlPopedom>=64) // 判断大类权限
{
controlPopedom=controlPopedom-64;
controlTemp=controlTemp+"64,";
}
if (controlPopedom>=32) // 判断部门权限
{
controlPopedom=controlPopedom-32;
controlTemp=controlTemp+"32,";
}
if (controlPopedom>=16) // 判断个人权限
{
controlPopedom=controlPopedom-16;
controlTemp=controlTemp+"16";
} if(controlTemp.IndexOf(controlOrgUse.ToString())==-1 || controlTemp==null)
{
controlOrgPop=false;
}
else
{
controlOrgPop=true;
} // 得出综合权限
if (controlDbPop==true && controlOrgPop==true)
{
control=true;
}
else
{
control=false;
} return control;
}这个还不是一个特别完善的东西,当初我项目没时间,我就没写了,最后应该可以实现不管多少等级都可以算出来,我现在只能算三个等级。当然最后我把它做成了用户控件,使用很方便了。
我对于你权限很多的情况还是不了解 2005-09-14 10:19:39 不死鸟
那样打分数确定权限不会冲突? 2005-09-14 10:21:31 许留心
肯定不冲突
2005-09-14 10:21:58 许留心
你知道linux的权限管理吗,就是一样的道理
2005-09-14 10:22:34 不死鸟
2的倍数很奇妙啊 2005-09-14 10:22:56 不死鸟
那么你最后在哪里判断权限呢?后台还是前台? 2005-09-14 10:23:39 许留心
后台,
2005-09-14 10:24:38 不死鸟
修改一个页面的权限呢? 2005-09-14 10:25:05 许留心
也可以
2005-09-14 10:26:15 不死鸟
看网上说要用用户控件 2005-09-14 10:26:07 许留心
其实你一样可以控制一个页要不要显示
2005-09-14 10:26:48 不死鸟
写死进后台我很担心 2005-09-14 10:26:42 许留心
担心什么
2005-09-14 10:27:04 不死鸟
我想通过前台控件的属性值来修改权限 2005-09-14 10:27:29 许留心
其实权限你可以该的,任何有权限修改的用户都可以自己改
2005-09-14 10:28:06 不死鸟
你怎么做到的? 2005-09-14 10:37:36 许留心
我这个思路你别想混了,其实程序设计的本质是控制对数据库里众多表的权限。比如:我定义 查询=1,添加=2,修改=3,删除=4
一等角色=16,二等角色=32,三等…… 一直推下去,多少等都可以。一般我把一等角色定义为用户自己。 表1 表2 表3
user01 23 38
user02
user03这样,你修改23为54用户的权限不就扩大了吗,要增加角色类型,定义一个“X等角色”就可以了。
2005-09-14 10:41:58 不死鸟
功能太多了,50个啊 2005-09-14 10:42:14 不死鸟
角色也很多 2005-09-14 10:42:37 不死鸟
哪怕一个功能使用的差别都可能是一个新角色 2005-09-14 10:42:40 许留心
你有多少个表?
2005-09-14 10:43:27 不死鸟20多 2005-09-14 10:45:53 许留心
那没问题,其实你看windows的权限管理,它的角色(也就是组)也不多,往往用户不满足,这样他们就通过组合其他权限得到一个新的组(角色)来使用。你说的那种情况,用这样的办法其实是很好的。
2005-09-14 10:46:55 不死鸟
我再研究研究,多谢! 2005-09-14 10:46:56 许留心
你还可以在这个表的基础上定义视图,一个视图就是一个角色
2005-09-14 10:47:33 不死鸟
视图就免了,基本的还没搞定 2005-09-14 10:47:47 许留心
晕死你7F8A98
2005-09-14 10:49:04 不死鸟
用户表,角色表,功能表 三个表够了吗 2005-09-14 10:49:11 不死鸟
功能模块表还有必要吗 2005-09-14 10:49:49 许留心
反正我用一个表,权限表,就把权限的所有问题搞定了,没用那么多的表
2005-09-14 10:50:52 不死鸟
根据实际情况我需要综合一下你的和别人的,所以更晕 2005-09-14 10:51:22 许留心
配合一个LDAP服务器就把认证,授权通杀了。以后开发的系统可以直接整合到一齐,做单点登录了。
2005-09-14 10:52:12 不死鸟
LDAP服务器 ??越来越玄乎了2005-09-14 10:52:39 许留心
我做这个东西,一个人发呆了半天,在纸上算了两个多小时,全部搞定花了我两天。