首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

关于 权限赋予的 方法!

2012-12-15 
关于 权限给予的 方法!!!我数据库中有个人员表 a,idnamepruview1aa1,101,103,10302,10303,2,201,2bb1,101,

关于 权限给予的 方法!!!
我数据库中有个人员表 a,
id   name   pruview
1    aa     1,101,103,10302,10303,2,201,
2    bb     1,101,103,10302,
3    cc     101,102,10301,2,201,30102,303

pruview列是当前用户的功能列表,我要在不同页面去查找这个人有没有其中的功能 ,有功能就开放,没这个功能就不开放。 这样的功能我该怎么去做,求大家给我个思路,最好写个公共的方法例子给我,谢谢!

[最优解释]

引用:
private bool Check(string personalPowerStrList,string funcId)

{


return(personalPowerStr.Contains(funcId))
}

if(Check("190,.....","190"))
{
//ok
}
else
{
//deny
}
      ……


这个写法有漏洞
2,3,4,11,101中

1,10 都能匹配成功,但是1,10两个ID在权限中是不存在的。

应该这样
if((","+power+",").Contains(",101,"))



[其他解释]
你这不是已经很明显了
取出pruview,以,截取对比功能列表编号,有就跳转到页面,没有就提示无权访问
[其他解释]
读出  pruview字段,以逗号分隔(string的split),然后你给每个功能或按钮赋予标识,比如id,然后从分割的数组中查找,包含则允许
[其他解释]
引用:
引用:你这不是已经很明显了
取出pruview,以,截取对比功能列表编号,有就跳转到页面,没有就提示无权访问
我可能这些功能分在不同页面,不可能每回都去写分割存不存在的代码,我想写个公共的,直接把这个页面的几个权限给这个变量
登陆后放在sesson里,每个页面都能访问到
[其他解释]
private bool Check(string personalPowerStrList,string funcId)

{


return(personalPowerStr.Contains(funcId))
}

if(Check("190,.....","190"))
{
//ok
}
else
{
//deny
}
[其他解释]
引用:
引用:你这不是已经很明显了
取出pruview,以,截取对比功能列表编号,有就跳转到页面,没有就提示无权访问
我可能这些功能分在不同页面,不可能每回都去写分割存不存在的代码,我想写个公共的,直接把这个页面的几个权限给这个变量

LZ你可以把你不同的页面或者不同的功能定义好,给一个ID或者给个sign标识
通过数据库或者xml之类的存储起来,以后你pruview字段中和当前操作的ID是否存在就可以了
[其他解释]
引用:
引用:private bool Check(string personalPowerStrList,string funcId)

{


return(personalPowerStr.Contains(funcId))
}

if(Check("190,.....","190"))
{
//ok
}
else
{
……


扯。。。           
 string s = "101,1";
            if (s.Contains("11"))
            {
               
            }
肯定不能进去
[其他解释]
引用:
我觉得最简单的方法就是登录的时候用个通用变量保存。每个页面传参匹配不就解决了吗、

可行
[其他解释]
我觉得最简单的方法就是登录的时候用个通用变量保存。每个页面传参匹配不就解决了吗、
[其他解释]
楼上已经写了,楼主要加强基本功底啊,加油吧。


[其他解释]

引用:
你这不是已经很明显了
取出pruview,以,截取对比功能列表编号,有就跳转到页面,没有就提示无权访问

我可能这些功能分在不同页面,不可能每回都去写分割存不存在的代码,我想写个公共的,直接把这个页面的几个权限给这个变量
[其他解释]
引用:
引用:
引用:你这不是已经很明显了
取出pruview,以,截取对比功能列表编号,有就跳转到页面,没有就提示无权访问
我可能这些功能分在不同页面,不可能每回都去写分割存不存在的代码,我想写个公共的,直接把这个页面的几个权限给这个变量登陆后放在sesson里,每个页面都能访问到


怎么弄怎么弄 ?! 大哥! 来点提示
[其他解释]
某个权限就是一个ID嘛,如1,101,103,10302,10303,2,201, 里面的101 
验证某个人是否有101权限,就看这个字符串里面是否包含101就行了

string power="1,101,103,10302,10303,2,201,";
if((","+power+",").Contains(",101,"))
 有权限
else
 没有权限
[其他解释]
引用:
某个权限就是一个ID嘛,如1,101,103,10302,10303,2,201, 里面的101 
验证某个人是否有101权限,就看这个字符串里面是否包含101就行了

string power="1,101,103,10302,10303,2,201,";
if((","+power+",").Contains(",101,"))
 有权限
else
 没有权限


公共方法怎么弄
[其他解释]
写一个方法,包含两个参数,一个用户ID 一个权限ID,

1根据用户ID查到用户拥有的权限字符串,
2检查参数中的权限ID是否在查处的串中
3是:有权限 否:无权限

貌似没啥难的
[其他解释]
引用:
引用:
引用:你这不是已经很明显了
取出pruview,以,截取对比功能列表编号,有就跳转到页面,没有就提示无权访问
我可能这些功能分在不同页面,不可能每回都去写分割存不存在的代码,我想写个公共的,直接把这个页面的几个权限给这个变量登陆后放在sesson里,每个页面都能访问到

对这个比较感兴趣
[其他解释]
好吧,是有漏洞
[其他解释]
引用:
好吧,是有漏洞

热点排行