FrameWork数据权限浅析1之利用FM自带机制实现行级数据安全

1:环境

Cognos10.2.0,Oracle

2:实现过程

在设置Framework数据级别权限的时候,通常用到的就是在FM的设置数据安全的地方添加安全过滤器,如下图

step1:选中部门维度表→操作→指定数据安全

step2:进入设置界面,添加自己用户空间中的用户组或者角色.

下面主要解释一下图中1-6的标注代表的意思

------------------------------------------------------------------------------------------------

1~2:代表对管理员和总经理不设置任何过滤器,即畅通无阻

3、5、6:代表分别给部门一、二、三开通本部门的权限

4:代表不给财务部经理开通查看业务数据的权限,设置一个过滤器表达式始终为FALSE的表达式即可.

PS:如果还有其他组的用户不可以访问此数据,操作和4一样即可

--------------------------------------------------------------------------------------------------

经过上面的操作之后,保存发布数据包到Cognos Connection中再次查看报表,就可以看到分别用不同角色的用户登录,就可以看到不同部门的数据了,本文是对维度表设置了权限,那么所有对此维度做了关联的事实表都会起到不同部门的用户只能看自己权限范围内报表数据的作用.

3:优缺点比较

优点:过程简单,只依赖于数据仓库中的维度表和已经经过CJP验证的用户空间的用户组即可

缺点:在完成设置以后我们发现,经过这种方式设置的权限管理,在以后的组织关系变化过程中,比如加一个角色需要访问此数据,或者加一个用户需要访问此数据,就需    要手动的去向FM模型文件中添加用户或者角色,这对于一个非cognos专业人员来说是存在很大不可能性的。如果用户遇到类似的问题就找我们的相关开发人员远程或者到    现场处理,那就大大的加重了我们系统的维护成本,当然这种情况是我们不想看到的,接下来,我们将继续寻找一种相对完美的方式来解决此问题.

时间: 2024-10-21 11:54:11

FrameWork数据权限浅析1之利用FM自带机制实现行级数据安全的相关文章

FrameWork数据权限浅析2之基于用户级别的中间表机制实现行级数据安全

在上一篇笔记中我已经说了如何利用FM自带的机制配合我们已经通过验证的用户空间的组来实现行级数据安全的控制,但是由于上一个方法存在的缺点是以后如果对该对象增加基于用户或者角色的访问权限就需要开发人员去FM模型添加操作,这样就大大的增加了我们系统的维护成本,下面我们就来说一下另外一种方法:基于用户级别的中间表机制实现行级数据安全 ps:这种方法命名只是笔者的一种定义说法,属个人想法而已,各位千万不要拿来铭记,重要的是过程,至于名字,就让他随风飘吧. 下面我们就走入正题,如何利用基于用户级别的中间表机

JEECG Framework 3.5.0 GA 新版本终于发布了,重量级功能(数据权限,国际化,多数据源),团队会努力推出新版本,希望大家多多支持!!

 JEECG Framework 3.5.0 GA 新版本终于发布了,重量级功能(数据权限,国际化,多数据源),            今年团队会努力不断推出新版本,希望大家多多支持!! 发布地址: http://www.iteye.com/news/30302-jeecg-3-5-0-jeewx 新增功能组件(NEW): 1. 数据权限(按钮级.数据行级.列级.字段级:可以精细化控制到表单每个字段的隐藏和禁用等) 2. 多组织机构,多公司支持(支持多子公司,组织机构无限级) 3. 国际化 (支

如何在应用系统中实现数据权限的控制功能(2)

关于数据权限的控制,可能我们在做很多大型一点的系统都会碰到过,可能每个人设计和解决问题的思路都有所不同,本文介绍我自己框架里面的解决思路.从上一篇<如何在应用系统中实现数据权限的控制功能>里面我们可能对权限控制和数据权限的控制有了一个初步的了解,本文接着进一步介绍在应用系统中,如何集成数据权限的控制功能. 1.数据权限实现思路分析 为了实现数据权限的控制,我们需要在通用的权限系统里面保存好对应角色具有哪些组织机构的数据权限,然后在应用系统中调用API进行过滤数据处理即可. 为了实现以上的功能需

通用权限管理系统数据权限设置功能解析

在权限管理系统中,数据权限是比较难的,在我们通用权限系统中,数据权限指的是用户基于某个权限域对某些基础数据的操作权限,如上图,公司管理这个菜单被定义是数据权限,表示某些人在公司管理是可指定访问哪些基础数据,这个要与应用结合.如下图,可以限制该9999xudeng003用户在公司管理页面只能管理其中的几个公司. 目前基于用户的数据权限BS的管理功能已完成,这个是权限系统最难开发的一部分. 下面是MVC控制器调的通用权限管理系统底层的方法: //---------------------------

通用权限管理设计 之 数据权限

阅读目录 前言 初步分析 通用查询机制 数据权限规则 实际应用 结语 前言 前一篇文章<通用权限管理设计 之 数据库设计方案>介绍了[主体]- [领域] - [权限]( who.what.how问题原型 ) 的设计思想 本文将对这种设计思想作进一步的扩展,介绍数据权限的设计方案. 权限控制可以理解,分为这几种 : [功能权限]:能做什么的问题,如增加产品.[数据权限]:能看到哪些数据的问题,如查看本人的所有订单.[字段权限]:能看到哪些信息的问题,如供应商账户,看不到角色. 部门等信息. 上面

RBAC权限模型及数据权限扩展的实践

话说大家对RBAC权限模型应该是耳熟能详了,但真正用的好的并不多.而且原始的RBAC模型并不包含数据权限的管理,网上也几乎没有相关的文章可以参考.本人经过几个项目的实战,在其基础上扩展出一套可行的.简单的数据权限模型,希望能够帮助大家解决数据权限管理上的老大难问题.至于什么是数据权限,请移步我的其他文章,这里不再敷述. 1.关于角色的继承: 在上图描述的模型中,并没有实现角色的继承.既然一个用户可以分配多个角色,那么角色能否继承还有什么必要呢?实现这个毫无必要的功能需要大大增加应用的复杂度,可谓

数据迁移至RDS-MySQL之利用RDS管理控制台

MySQL之利用RDS管理控制台数据迁移至RDS-MySQL之利用RDS管理控制台该方法是一种MySQL的在线迁移方法,可以不停服务就能够完成数据库的迁移工作,支持MySQL 5.1   5.5. 5.6(5.0版本只支持全量迁移)的迁移.更多迁移信息可参考:如何快速平稳的迁入RDS>>迁移注意事项1)MySQL的系统库将不允许迁移至RDS,不允许迁移的数据库包括:mysql,information_schema,perfermance_schema.这些数据库将不会显示在迁移列表中:2)不支

mybatis整合数据权限

现在很多企业级应用都需要拦截数据权限, 只有配置了相应数据权限的人才能看到该数据 关于数据权限的实现, 个人想了两种实现方式 第一种是基于AOP, 配置相应的注解, 在切面中将数据权限的参数值强制设置到请求参数中去, 然后dao层利用mybatis的动态sql, 将权限值拼接进去, 该方案有前提条件, 数据权限控制的字段必须放到基类中, 其他的对象要继承该基类, Mapper.xml必须抽取一个公用的, 其他的Mapper需要引用该mapper文件作为权限控制(否则每个类和Mapper.xml都

改进版本的精确数据权限定义和实现

由于工程实现上的某些小问题,为了达到方便实现如图效果,对数据结构做了一点点的调整. 新的数据结构如下图: 第一个图片的数据源视图: IF EXISTS (SELECT * FROM sysobjects WHERE id = OBJECT_ID(N'RoleDataPermit') AND OBJECTPROPERTY(id, N'ISVIEW') = 1) DROP VIEW RoleDataPermit GO /*****视图:查询所有角色的数据权限*****/ CREATE VIEW Ro