我写了一个OA系统
我现在的权限分配是这样的
左侧有个导航栏 假设有 A B C D这几个导航,,
然后在权限设置页面,对应的就是 A B C D 这4个权限选项
意思就是如果你拥有A权限 那么你的导航栏里就会有A 这个导航
但是这个权限范围太大了。这个权限是到页面级别的。
就是可能有的人有3个页面。而别人只有2个页面的
但是 一旦你拥有了这个页面 那么这个页面上的东西 你就都可以用。。
我觉得不是很合理。
我想细分到 按钮级别。即使不到按钮级别 只是在页面上 还再可以细分。
比如 增加 删除,修改,。查看这样。就是2个人 都可以到某一个页面。但是 他们看到的页面是不一样的
有谁有好的思路的。给一个。。
只谈思路。数据库设计啊 技术什么的 都不是问题
我现在的权限分配是这样的
左侧有个导航栏 假设有 A B C D这几个导航,,
然后在权限设置页面,对应的就是 A B C D 这4个权限选项
意思就是如果你拥有A权限 那么你的导航栏里就会有A 这个导航
但是这个权限范围太大了。这个权限是到页面级别的。
就是可能有的人有3个页面。而别人只有2个页面的
但是 一旦你拥有了这个页面 那么这个页面上的东西 你就都可以用。。
我觉得不是很合理。
我想细分到 按钮级别。即使不到按钮级别 只是在页面上 还再可以细分。
比如 增加 删除,修改,。查看这样。就是2个人 都可以到某一个页面。但是 他们看到的页面是不一样的
有谁有好的思路的。给一个。。
只谈思路。数据库设计啊 技术什么的 都不是问题
页面上做个判断,根据权限显示功能。
后台再拦截验证下。
读:100
写:010
可执行:001如果要有读写权限,则权限值是 100 | 010,结果为 110
要把读写权限中的读权限去掉:110 &= ~100,结果为 010每个组件的权限值一定要是 pow(2, n),即组件的权限值的二进制里只有1位是1,其余位全是0.上面是位的,可以扩展为n位,然后对每个需要赋予权限的按钮赋予一个权限,用户需要访问时判断是否有此权限即可: (userPermissionValue & componentPermission) != 0
例如用户的权限是110,而组件的权限是001,则此用户对此组件无访问权限。
懂我的意思吗?就是如果你没有权限,就把这个按钮隐藏起来