下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、权限控制解决方案,一个角角色与资源对应(资源包括、组件以及用于进行数据权限控制的资源等)色可对应多个资源;另一方面角色与用户、部门、公司对应,一个角色可以对 应多个用户、部门或公司,同时对于放入角色当中的用户、部门、公司可以设置这个角色成员在, 如果当前成员(用户、部门、公司)在当前角色中的访问权限(允许还是拒绝访问)当前角色中 访问权限为允许访问,那么就可以访问当前角色对应的资源,否则就不能访 问当前角色对应的 资源,利用这种特性就可以很容易的实现权限的加减计算。角色可以与资源、数据权限控制资源 对应,同时角色当中对应的成员可以有用户、部门、公司三种类型。如果用户在角色当中访问权 限为允许那
2、么该用户就可以访问当前公司对应的资源;如果部门在角色当前访问权限为拒绝,那 么该部门以及该部门子部门中所有用户都不可以访问当前角色对应的资源;公司是一个容器,当 前存放的是用户与部门,所以如果公司在角色当中访问权限为是,那么该公司当中的用户或部门 就可以访问当前角色对应的资源。对于系统资源(资源、数据权限控制资源)保护,系统首先判断当前资源有没有与角色对应起来, 如果对应起来,那么只有该角色当中明确声明可以访问的成员(用户、部门、公司)才能访问当 前角色对应的资源,其它一概不允许访问。当某个登录用户要访问某个受保护的资源时(当前资 源与某个角色对应起来),系统首先判断当前登录用户是否在该资源对
3、应的角色成员当中,如果 在其中且允许访问该角色中资源,那么就允许该角色访问目标资源;如果在角色当中,但不允许 访问角色中资源,那么该用户就不能访问目标资源。如果当前用户不在该资源对应的角色当中, 就判断当前用户所属部门是否在该资源对应的角色当中,如果在其中的,那么首先判断当前用户 所在部门的上级部门能否访问该角色对应资源,如果当前用户所在部门的所有上级部门中只要有 一个不允许访问当前角色对应的资源,那么该用户就不允许访问当前资源;反之如果当前用户所 在部门的所有上级部门都允许访问当前角色对应资源,那么就判断当前用户直属的部门能否访问 当前角色对应资源,如果可以访问,那么用户就可以访问当前资源,
4、如果不可以,那么用户就不 能访问资源;如果当前用户所在部门不在当前角色当中,那么就判1 / 5(用户直接属于公司或用户在公司对应的部断当前用户是否在当前角色对应的公司当中门当 中),再采用与之前相同的逻辑来判断当前用户是否可以访问被保护的目标资源。对页面组件进 行授权是对页面当中诸如按钮、表格、表格列、树、树节点之类组件实现权限控制,直接将用户、 部门或公司与页面组件资源对应起来,设置对应时还可以进一步设置组件资源与用户、部门或公 司访问关系(允许访问还是拒绝访问),从而实 现组件级别权限控制。需要将组件资源与具体的 组件存在于页面当中,所以在进行组件级别权限控制时,就可以在用户浏览某页面时根
5、据组件权 限的设置决定当前登录用户是否资源对应起来,可访问当前页面中某些施加权限控制的组件。用到的主要表信息:组件资源表,用来保证业务界面当中组件信息,供权限分配使用,组件不能单独 存在,需要与关联角色表,用来存放角色信息,它是安全核心,一方面角色关联一批资源,另一方 门、公司关联,实现资源权限控制。面角色与用户、部角色成员表,实现角色与用户、部门、公司关联,同时关联时可设置角色中成员 访问还是拒绝访问)。的访问权限(允许角色资源表,用于实现角色于资源、数据权限控制资源关联。可以访问当前组件的成员表,有三种类型成员:用户、部门和公司。2 / 5用于实现业务数据权限的资源表然后再通过该中提供的方
6、法生成最终执行的,这样就可通过类组装好需要的语句,以实现业务 数据的权限控制。类主要的方法如下表所示:方法描述1名创建对象实例的构造方法,要两个参数,第一个参数是查询中要获取的字段,比(),第二个参数要 指定查询的目标表,对于查询目标表而言一般是一张表,当如“”然也可以有多个,所以这里是一个对 象的数组,如果查询目标表中有一个,那这 个数组中只有一个对象,否则应该有多个。是一个简单的 对象()用于设置查询中是否有连接,如果有则将具体的连接的表达式设置进去,比如”,当刖如果不需要连接就可以不用设置“()?” -用于设置查询中的条件部分的内容,比如:“()设置参数条件对应的值,这里要求给一个对象类
7、型的数组,用于填充在方法中填,比如上面的?写 条件中的?()部分,比如用于设置查询中的()得到经过组装的、可能带有动态添加用于权限控制的条件的查询,开发人员可以通过该方法将取到的交给数据库进行查询()得到经过组装的、可能带有动态添加用于权限控制的条件的查询数据总数,一般用于分页查询时 使用表的关键列信息如下表所示:3 / 5歹J描述5名具体业务数据表的表名,比如对哪个列添加条件约束,比如、之类标准的条件表达式,比如、表示比如“”这里的值可以是一个静态的值,比如,也可以是一段表达式,条件的值,表示取当前 登录用户的用户名,对于这里可以要取当前登录用户所在部门的,“()”设置的表达式,例如: 如果
8、当前登录用户隶属多个部门,这里是中间,1.:当前登录用户所在部门的 用逗号分隔的多个 部门。()之类的方法,如上面的示例。2.:系统当中的对象,所以可以调用其()、:当前登录用 户所在部门的所有子部门的,同样用逗号分隔多个子部门的。3.除了使用这些现成的表达式名,还允许开发人员自定义自己的动态表达式,4.如果需要定义自己的表达式,开发人员只需要实现接口,在该接口中只有方法需要实现,这个方法 要求返回一个对象,如下面的代码所 ()一个示:() ();(); ()(); ( ;在上面的方法实现当中,注册了两个表达式,一个是名为,表示取当前系4 / 5统的默认日期,第二个名为取的是用户的地址。实现类编写完成后,在系统启动时会自动扫描到该实现的存在,并对其进行解析加载,这 样后面我们就可以使用这里的及来作为列的值,比如:。接下来就需要在表中配置好相关的数据,以实现对查询动采用类拼装好查询之后,态条件的添 加。只有显示的将默认配置在表中的数据权限信息在没有分配给具体的人时不会生效,这样这个 人或部门下的人或公司下的所有表中数据权限内容分配某个人或部门或公司,的人在访问有数据 权限控制的表数据时,就不会在查询的后面动态添加条件,从而限制那么用户可看到的业务数据 的量,同时如果表
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 某县20MW光伏电站土地复垦方案报告书
- 桥梁桥台基坑开挖施工方案
- 农村安全饮水工程应急供水预案
- 某草原风电项目土地复垦方案报告书
- 公司运维服务级别管理方案
- 合同管理内控制度
- 医疗机构消毒设备维护管理规范
- 隧洞浅埋段开挖工程施工技术方案
- 河湖生态疏浚培训
- 大学生辩论赛赛事策划方案
- 2026-2030中国植物源角鲨烯市场竞争现状及未来发展策略分析研究报告
- 2026年秋教科版(新教材)小学科学四年级上册(全册)分层作业及答案(附目录p107)
- 急救校园建设方案范文
- 2026年东风汽车校招人才测评题库
- 肿瘤异质性精准干预方案
- 2026年初中历史统编教材培训总结与教学启示
- 2026届高考语文复习:文言文120个常用实词及语境练习
- 粮油销售员工作制度
- 2026年智慧矿山评价指标体系方案
- 汽车驾驶培训教练员课件
- 2025下半年安徽池州市市直事业单位选调24人备考题库附答案
评论
0/150
提交评论