关于cognos的访问权限之前我也做了不少总结,但是由于时间关系加上用户也只要实现功能就好,我们做的效果就是像很多人一样,就那样就好了。但是有很多事情,只要你肯动脑筋,你会发现,你还可以做的更好,下面我们就趁着这个愉快的周五,用还眷顾我的时间来再次总结一下cognos访问权限有关的问题,当然我们今天主要说的就是如何让cognos的访问权限看起来更友善,那么接下来,您听我说一下下面这三种情况!

1:通过Cognos Connection登录直接进入门户进行访问

这种方式的访问权限是最简单的大家可以通过在cognos connection内容管理里面,通过对对象属性-权限添加相应的角色以及赋予该角色相应的权限即可

这样对对象设置了权限之后,只有已添加进来的具有读取权限的用户才可以看到该对象,需要特殊说明的是对于上面的选项

【改写从父条目获取的访问权限】

如果不勾该选项,默认的就是子条目

获取父条目的权限

例如:报表A在文件夹A下面,那么报表A的权限就是文件夹A的权限

如果该对象不需要从父文件夹获取访问权限,需要单独的赋权,那么可以勾上该选项。勾上之后,才可以单独的为该对象定制

自己的权限方案。

这种访问权限的设置也是友善的,有权限就看得到,没权限就看不到。

2:通过第三方门户登录访问菜单集成过来的Cognos报表

该访问方式的好处就是看起来不刷新整个页面,通过框架的形式,让报表在固定的区域刷新,例如mainFrame.这里的访问权限其实和Cognos的关系不大,我们只要在第三方程序中判断好用户角色和菜单直接的关系即可。用户登录后,判断角色,通过角色判断需要加载那些菜单,而每一个菜单对应的就是一个Cognos report的URL。在这里就不多说了,这种访问权限的控制也是友善的。
3:通过超链接方式访问Cognos报表

该访问方式就是在Cognos Connection里面或者另外的web页面直接通过超链接访问目标报表,这种访问方式对于权限的认证就会出现下面的情况,如下图所示有一个报表列表

用户a登录,用户a可以访问报表1所在的文件夹,但是不能访问报表2所在的文件夹,如果用户a登录点击了报表2,则会出现下面的很不友善的错误提示,如下图所示

有时候比如我们用table在rs里面做了一个报表的列表,为了不影响页面布局,我们需要保证每一个用户看到的样式是一样的,即都可以看到报表1和报表2的链接,但是访问

的时候给出友善的自定义提示,而不是出现上面的错误提示,我们该如何做?下面我们就来说一下具体方法

3.1:首先保证所有用户对该报表都有访问权限

3.2:在该报表采用table布局,最外面是一个两行一列的表格

3.3:在上面的表格定义拒绝访问页面,在下面的页面定义报表内容,如图5所示

3.4:通过条件样式判断上图两个单元格的是否显示,如图6

3.5 is_read参数的由来,我们需要在报表页面定义一个值提示,参数名称为is_read,为了提前获得用户信息判断报表页面UI显示与否,我们还需要一个提示页面

报表页面如下图

值提示页面如下图

3.6:值提示值的来源,我们需要定义一个查询,如下图

3.7:实现效果就是,当用户访问一个自己可以看得到的超链接,但是对该链接的报表数据是不具有访问权限的那么给出友善的拒绝提示

这样就避免了由于Cognos访问权限而引起的不能访问对象的大红叉错误的不友善拒绝的问题,是不是很简单呢?接下来还不知道这样做的你可以去试试了.

Cognos访问权限之让拒绝更友善的更多相关文章

  1. IIS教程:因权限问题被拒绝访问的解决方案

    https://blog.csdn.net/a497785609/article/details/49952281 写了一个类IISAdmin,负责建立.设置.删除虚拟目录,发现在web中调用,遇到权 ...

  2. win10删除文件夹时需要管理员授权或拒绝访问(无权访问权限修改)

    win10 用户:我自己就是电脑主人,凭啥我没有自己电脑文件夹的权限? 微软:对不起,您是电脑硬件的主人,但是电脑系统的主人是我!你只不过是个用户而已. win10 用户:我cao你...[哔-] 对 ...

  3. SVN版本库(访问权限)配置实例笔记

    http://blog.csdn.net/zjianbo/article/details/8578297 SVN版本库(访问权限)配置实例笔记 本系列文章由ex_net(张建波)编写,转载请注明出处. ...

  4. 使用nginx和iptables做访问权限控制(IP和MAC)

    之前配置的服务器,相当于对整个内网都是公开的 而且,除了可以通过80端口的nginx来间接访问各项服务,也可以绕过nginx,直接ip地址加端口访问对应服务 这是不对的啊,所以我们要做一些限制 因为只 ...

  5. apache vhost 访问权限配置

    apache的<directory>     </directory>语句,查考如下: 如何访问根目录下的目录http://192.168.1.12/test/ 第一.缺省ap ...

  6. 文件访问权限:更改用户ID

    本文来探讨一下通过更改用户ID来获取合适的文件访问权限.由于更改组ID的规则与用户ID相同,我们在这里只探讨用户ID. 纸上得来终觉浅 先了解以下几个基本知识: 用户ID包括:实际用户ID.有效用户I ...

  7. IAM:亚马逊访问权限控制

    IAM的策略.用户->服务器(仓库.业务体) IAM:亚马逊访问权限控制(AWS Identity and Access Management )IAM使您能够安全地控制用户对 AWS 服务和资 ...

  8. yii\filters\AccessControl 访问权限控制

    Class yii\filters\AccessControl 所有类 | 属性 | 方法   继承 yii\filters\AccessControl » yii\base\ActionFilter ...

  9. [apue] linux 文件访问权限那些事儿

    前言 说到 linux 上的文件权限,其实我们在说两个实体,一是文件,二是进程.一个进程能不能访问一个文件,其实由三部分内容决定: 文件的所有者.所在的组: 文件对所有者.组用户.其它用户设置的权限访 ...

随机推荐

  1. Django2.0中URL的路由机制

    路由是关联url及其处理函数关系的过程.Django的url路由配置在settings.py文件中ROOT_URLCONF变量指定全局路由文件名称. Django的路由都写在urls.py文件中的ur ...

  2. Python Django 中的STATIC_URL 设置和使用解析

    使用Django静态设置时,遇到很多问题,经过艰苦的Baidu, stack overflow, Django原档阅读,终于把静态图片给搞出来了.特记录下来. 关键的概念:Django中,静态资源的存 ...

  3. 【漏洞预警】方程式又一波大规模 0day 攻击泄漏,微软这次要血崩

    一大早起床是不是觉得阳光明媚岁月静好?然而网络空间刚刚诞生了一波核弹级爆炸!Shadow Brokers再次泄露出一份震惊世界的机密文档,其中包含了多个精美的 Windows 远程漏洞利用工具,可以覆 ...

  4. python 加密方式(MD5&sha&hashlib)

    1.MD5加密 import md5 m = md5.new() #或者m = md5.md5() m.update('123456') m.hexdigest() #或者md5.md5('12345 ...

  5. 1、安装Redis的PHP扩展

    1.安装Redis的PHP扩展 1.1 安装phpize yum install php-devel 1.2 下载扩展源码包,直接用wget #wget下载github上的文件 wget https: ...

  6. [分享]2013:Linux的黄金之年-十大杰出成就

    2013年已经过去.这一年见证了许多里程碑事件,使得2013年可以称得上是一个Linux的黄金之年.其中一些成果在FOSS和Linux世界更可以称得上是举世瞩目的成就. 1.Android的上升趋势 ...

  7. 最小生成树-普利姆算法eager实现

    算法描述 在普利姆算法的lazy实现中,参考:普利姆算法的lazy实现 我们现在来考虑这样一个问题: 我们将所有的边都加入了优先队列,但事实上,我们真的需要所有的边吗? 我们再回到普利姆算法的lazy ...

  8. phpcms功能列表

    上1 站点首页 就是前台首页 会员中心 跳到会员中心页面 搜索 新闻,图片等文档搜索 锁屏 锁住账号 Phpcms 官网 授权 官网查询 支持论坛 官网论坛 帮助 官网帮助 上2 我的面板 个人信息 ...

  9. 全栈project师体能备战--知识面(1--10)

    javascript 单例设计模式:         单例模式确保某个类仅仅有一个势力,并且自行实例化并向整个系统提供这个实例.如:cocos2dx中的导演类.[样例]我有6哥美丽的老婆,他们的老公都 ...

  10. spring整合mybatis步骤分析

    1.spring配置datasource bean的时候,不同的数据库连接方式有有不同的datasource实现类. 比如采用c3p0数据库连接池,要用c3p0的datasource实现类 com.m ...