高分求行行级数据权限和列级数据权限的设计思路 兄弟门帮忙啊! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 不知道你的所谓行级和列级是到什么程度,是精确控制每一行(列)还是按照一定的规则对数据进行过滤、分组?如果是按照一定的规则过滤,比如公司业务中的按额度审判权限,可以使用身份-权限参照表筛选数据,参照2.0中的Role管理。这很像普通的论坛权限控制了。如果不是,要逐行控制,数据库恐怕做不到这么只能,只能从给数据打用户标签,在应用程序层次上想主意了。 举个例子总公司下面有分公司A和分公司B,总公司系统管理员分别在分公司A和分公司B中设定分公司系统管理员,则分公司A和分公司B数据是互不可见的,分公司系统管理员只对各自分公司负责,他们可以同时建立一个相同名字的角色,但这两个角色是不同的。即下级只可以看到自己,上级可以看到所有。这个管理是可以嵌套的,即分公司A下面可能还会存在分公司,分公司下面还会有新的分部门。其实怎么说呢有好多比如1.创建规则也就是谁创建谁访问,但是这个不是绝对判断,因为工作流程就不适合这个2.机构规则也就是上面所说的举的例子3.区域规则(适合部分软件)比如大家同属于销售公司,但是我负责销售华东区,你负责销售华北区,我所新增的一条数据为华东区销售记录,那只有负责华东销售的人能看到,负责华北销售的人就看不到对应其他的软件肯定有很多特定的东西,然后我们根据条件来判断数据,分别个组判断提出来的数据是交集还是并集然后再进行数据合并,就得到需要的数据了!就是这些掉东西,有没有完整的设计方案,适合开发产品通用性强的设计方案 创建用户时,每个用户都属于一个组。这个组是有级别的。如:A公司是一个级,华北区也是一个组。不过华北区组属于A组下。只有属于A组或华北区组的人才能看到华北区人创建的记录。在用户登录时,把用户所属的组都读出来,如用户U属于A组和华北区组,在创建时记录,把创建记录人所属的组跟记录一起写入。就是在记录表中有创建人、创建组两个字段。这样在读取记录时只取所在组的记录就行了。 moqijun说的应该是组织结构,根据机构规则也就是上面例子所说明的,但是很多时候这个只使用于局部,不是全部适合.所以需要的是一种规则和方式!以前我们做的时候好象有一种方式sr_syscollectright id ,sysid,source_id,systemrightsr_sysitemrightid,sysud,filename,systemright把组织结果抽象出来成为一个系统内核!现在如果总公司有管理员权限 他也只能把他自己所具有的权限 想下分 这样的情况下,一级管理员必须有全部的数据权限filename,source_id根据系统码表里的字段然后调用存储过程拼出语句!这个感觉也有点麻烦!倒!!而切也实现不了完全 Donald1978()说做个标签,可以详细解释一下吗? 我用工具箱加载AspnetPager为何提示未能加载类型库? ddl的aotopostback 这段代码有误? 打印问题 AspNetPager分页控件上面的导航123456..颜色如何改? 取不到datagird的值, ~~~~进来这里,有ASP.NET编程百例(PDF)下载~~~~ 能编译吗? 页面跳转问题 关于ASP.NET乱码问题 (求助)水晶报表大人请进!(Crystal Reports) 源码的问题? <%# 求一条SQL查询语句的方法 查询表中除去某一例相同的记录
有好多
比如
1.创建规则
也就是谁创建谁访问,但是这个不是绝对判断,因为工作流程就不适合这个2.机构规则
也就是上面所说的举的例子3.区域规则(适合部分软件)
比如大家同属于销售公司,但是我负责销售华东区,你负责销售华北区,我所新增的一条数据为华东区销售记录,那只有负责华东销售的人能看到,负责华北销售的人就看不到对应其他的软件肯定有很多特定的东西,然后我们根据条件来判断数据,分别个组判断提出来的数据是交集还是并集
然后再进行数据合并,就得到需要的数据了!就是这些掉东西,有没有完整的设计方案,适合开发产品通用性强的设计方案
以前我们做的时候好象有一种方式
sr_syscollectright
id ,sysid,source_id,systemrightsr_sysitemright
id,sysud,filename,systemright把组织结果抽象出来成为一个系统内核!
现在如果总公司有管理员权限 他也只能把他自己所具有的权限 想下分
这样的情况下,一级管理员必须有全部的数据权限
filename,source_id根据系统码表里的字段然后调用存储过程拼出语句!
这个感觉也有点麻烦!倒!!而切也实现不了完全