关于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. C# 字符串处理小工具

    之前刚上大学时沉迷于安全方面,当时一直想写一个处理字符串的小程序. 无奈当时没有太多时间,一直拖延到这寒假. 寒假闲来无事,所以就写写小程序来练手,顺便复习一下窗体和基础. 实现的功能有以下: 转换为 ...

  2. 【CF148D】 Bag of mice (概率DP)

    D. Bag of mice time limit per test 2 seconds memory limit per test 256 megabytes input standard inpu ...

  3. QT学习笔记7:C++函数默认参数

    C++中允许为函数提供默认参数,又名缺省参数. 使用默认参数时的注意事项: ① 有函数声明(原型)时,默认参数可以放在函数声明或者定义中,但只能放在二者之一.建议放在函数声明中. double sqr ...

  4. luoguP3480 [POI2009]KAM-Pebbles 阶梯Nim

    将序列差分并翻转之后,变成了阶梯\(Nim\)的模板题 QAQ #include <cstdio> #include <cstring> #include <iostre ...

  5. 【枚举】AtCoder Regular Contest 095 C - Symmetric Grid

    题意:给你一个H*W的字符矩阵,一次操作可以任意将两行或者两列交换.问你是否能通过任意多次操作,使得其变为对称矩阵.对称的含义是:对于任何格子A(i,j),其都等于A(H-i+1,W-j+1). 显然 ...

  6. from setuptools import setup, find_packages ImportError: No module named set

    1 from setuptools import setup, find_packages ImportError: No module named set wget http://peak.tele ...

  7. [CodeVS1243]网络提速

    题目大意: 有n个点的连通图,有m次可以将某一条边权值减半的机会. 不同的机会可以叠加作用于同一条边. 求1~n的最短路. 思路: 拆点,记录1到每个点在使用不同次数的机会后的最短路,然后直接跑Dij ...

  8. RTSP交互过程

    步骤一: 发送:OPTIONS rtsp://127.0.0.1/172.30.31.225:8000:HIK-DS8000HC:0:1:admin:hs123456:av_stream RTSP/1 ...

  9. 理解linux下源码、yum和rpm安装方法的特点

    1.yum可看作在线安装,只需yum install 软件名,系统就自动根据yum源配置文件中的镜像位置去下载安装包,并可以自动分析所需的软件依赖关系,自动安装所需的依赖软件包.简单方便,不易出错,不 ...

  10. CentOS的update-grub2命令

    这个和Ubuntu还是有些区别,在CentOS修改成如下: grub2-mkconfig -o /boot/grub2/grub.cfg