简述
自Cognos 8.3 BI Server版面世后,Access Manager用户管理模块没有集成在一起,而Cognos ReportNet 与 Cognos 8.2以前版本都有。 IBM Cognos 8.3增强引用第三方系统信息访问目录作为门户网站用户类统一管理,方便企业门户网站集成控制管理,给客户方便维护与管理系统。
Cognos 8.3用户权限控制有两种设计思路:
1、 Cognos Framework Manager用户数据过滤控制。
2、 Cognos Transformer自定义视图过滤控制。
Cognos Framework Manager用户权限过滤控制
权限配置一:手动安全数据控制
Step01:要配置好Cognos Configuration—>Security—>新建一个namespace。
根据你引用的用户信息目录类型进行选择。本案例是以FreeQuery应用系统。
配置完后,进行测试,直到测试成功。保存配置信息,并重启Cognos8服务。
Step02:登陆Cognos Connection web服务会提示:请输入您的用户名和密码
Step03:登陆Framework Manager界面,新建工程或者打开已经存在的工程都会提示输入登陆用户名与密码。
Step04:打开已经存在的工程文件(或正给组织机构表加载权限的新工程文件),找到组织机构表,右击工具栏上的“Actions”按钮,选择Specify Data Security…属性。
注意:在Framework Manager 1.1版本,过滤条件没有集成到工具栏上“Actions”中,直接对表右击会弹出“Specify Security Filters…”选项,设置方法是一样。
Step05:选“ADD Groups”按钮;按层次指定组织机构进行过滤,为子级添加用户组;
Step06:选择需要控制的用户组,对最高管理者而言,不需要添加与过滤。分公司管理员只能看到本公司本部信息,这时需要进行过滤分组。
Step07:条件过滤,过滤原则根据用户组织机构划分,用户权限控制到第几层,这里可以控制到第几层,在过滤条件表达式中,按照表结构定义字段来过滤即可。
Step08:创建新工程包文件,Publish到Cognos BI Web服务,以Admin用户登陆创新建 报表,在刚刚发布的包文件下建两类报表:一类是最高管理员角色,二类是分公司管理员角色。
1、以分公司管理角色登陆,只看到本公司数据信息。
2、最高管理员角色,可以看到所有分公司数据信息。
权限配置二:利用函数安全数据控制
在Cognos设计Framework模型时,可以用Cognos函数来实现 权限管理,前提是通过用户登录系统来判断所属机构进行控制,如果分析表数据与应用系统用户表数据在同一个数据库下最好实现,但跨不同类型数据库也可以实现控制,但运行速度很不理想。
在数据库层面要保证用户表与分析表能建立对应关系,我所提到的用户表是指应用系统中用户机构表,是保存用户基本信息,他的成员多数是管理员、高层领导、分公司管理者等等。每人成员必需归属一个机构下,也有成员归属多个机构。
如下图:
C_USERDESC=’8601’ 是机构编码,在分析表可能不是8601,就找出与8601对应的机构代码关系表。
在Framework Manager开发界面下,添加用户机构信息表,进入编辑状态,编辑格式如下:
Select C_USERNAME , C_USERALIAS , C_USERDESC from [BIDM].V_D_T_USER
where V_D_T_USER.C_USERNAME =#sq($account.defaultName)#
注意:#sq($account.defaultName)#是单击“ ”插入宏变量。找到Cognos自带系统函数。
左边列表有消息 参数和宏变量,根据需要使用相应的函数。右边上方是表达式窗口,右边下方是信息结果窗口:’admin’
编辑好表达式之后,可以TEST结果。
Admin用户结果为一条记录,如果用户对应多机构,会出现多条记录。
在Framework设置好用户维度表与分析事实表连接关系,封装结构信息并发布的到BI Web服务,在设计报表时,要把用户表C_USERNAME字段项添加到查询中,检验表单数据是否控制。
提示:权限配置方法一比较麻烦,对于未知上线系统用户机构信息,维护期间必须回到模型中添加,发布新版本。配置方法二很灵活,在应用系统管理界面,新增用户,维护好机构代码即可。
Cognos Transformer自定义视图过滤控制
Step01:在新建模型中,Custom Views视图窗口是没有用户过滤信息,需要手工处理。
Step02:在Categories目录树中—>选Custom Views窗口新建一个Create Custom Views。
Step03:新创建的用户组可以选多个角色,如东北区用户组,可以选择:黑龙江,吉林,山东三个角色组。
Step04:限制组织机构范围,同时限制度量给哪些用户组。每个模型都得增加一个Admin的管理员。
Step05:添加完用户组之后,把Custom Views窗口下的用户组全部加载到 PowerCubes下。
Step06:生成Cube,并发布到Cognos BI web服务。用工号登陆测试,检验用户查询信息是否过滤到位。
提示:Transformer模型设计用户类过滤有两种情况:
1、 数据源(Data Sources)是IQD,TXT,XLS等多种文件格式,通过ODBC接口取数据,需要按照前面的步骤来设置用户类限制。达到每个用户看到的数据在自己组织机构下。
2、 数据源来自Cognos Package包,包文件结构已含组织机构与角色之间的绑定关系,此时Transformer模型根据登陆用户生成限制Cube信息,再不受其他用户所控制。任何用户看到的结果都是一样,在设计Package包时,临时创建无用户类信息包引用到模型中
自Cognos 8.3 BI Server版面世后,Access Manager用户管理模块没有集成在一起,而Cognos ReportNet 与 Cognos 8.2以前版本都有。 IBM Cognos 8.3增强引用第三方系统信息访问目录作为门户网站用户类统一管理,方便企业门户网站集成控制管理,给客户方便维护与管理系统。
Cognos 8.3用户权限控制有两种设计思路:
1、 Cognos Framework Manager用户数据过滤控制。
2、 Cognos Transformer自定义视图过滤控制。
Cognos Framework Manager用户权限过滤控制
权限配置一:手动安全数据控制
Step01:要配置好Cognos Configuration—>Security—>新建一个namespace。
根据你引用的用户信息目录类型进行选择。本案例是以FreeQuery应用系统。
配置完后,进行测试,直到测试成功。保存配置信息,并重启Cognos8服务。
Step02:登陆Cognos Connection web服务会提示:请输入您的用户名和密码
Step03:登陆Framework Manager界面,新建工程或者打开已经存在的工程都会提示输入登陆用户名与密码。
Step04:打开已经存在的工程文件(或正给组织机构表加载权限的新工程文件),找到组织机构表,右击工具栏上的“Actions”按钮,选择Specify Data Security…属性。
注意:在Framework Manager 1.1版本,过滤条件没有集成到工具栏上“Actions”中,直接对表右击会弹出“Specify Security Filters…”选项,设置方法是一样。
Step05:选“ADD Groups”按钮;按层次指定组织机构进行过滤,为子级添加用户组;
Step06:选择需要控制的用户组,对最高管理者而言,不需要添加与过滤。分公司管理员只能看到本公司本部信息,这时需要进行过滤分组。
Step07:条件过滤,过滤原则根据用户组织机构划分,用户权限控制到第几层,这里可以控制到第几层,在过滤条件表达式中,按照表结构定义字段来过滤即可。
Step08:创建新工程包文件,Publish到Cognos BI Web服务,以Admin用户登陆创新建 报表,在刚刚发布的包文件下建两类报表:一类是最高管理员角色,二类是分公司管理员角色。
1、以分公司管理角色登陆,只看到本公司数据信息。
2、最高管理员角色,可以看到所有分公司数据信息。
权限配置二:利用函数安全数据控制
在Cognos设计Framework模型时,可以用Cognos函数来实现 权限管理,前提是通过用户登录系统来判断所属机构进行控制,如果分析表数据与应用系统用户表数据在同一个数据库下最好实现,但跨不同类型数据库也可以实现控制,但运行速度很不理想。
在数据库层面要保证用户表与分析表能建立对应关系,我所提到的用户表是指应用系统中用户机构表,是保存用户基本信息,他的成员多数是管理员、高层领导、分公司管理者等等。每人成员必需归属一个机构下,也有成员归属多个机构。
如下图:
C_USERDESC=’8601’ 是机构编码,在分析表可能不是8601,就找出与8601对应的机构代码关系表。
在Framework Manager开发界面下,添加用户机构信息表,进入编辑状态,编辑格式如下:
Select C_USERNAME , C_USERALIAS , C_USERDESC from [BIDM].V_D_T_USER
where V_D_T_USER.C_USERNAME =#sq($account.defaultName)#
注意:#sq($account.defaultName)#是单击“ ”插入宏变量。找到Cognos自带系统函数。
左边列表有消息 参数和宏变量,根据需要使用相应的函数。右边上方是表达式窗口,右边下方是信息结果窗口:’admin’
编辑好表达式之后,可以TEST结果。
Admin用户结果为一条记录,如果用户对应多机构,会出现多条记录。
在Framework设置好用户维度表与分析事实表连接关系,封装结构信息并发布的到BI Web服务,在设计报表时,要把用户表C_USERNAME字段项添加到查询中,检验表单数据是否控制。
提示:权限配置方法一比较麻烦,对于未知上线系统用户机构信息,维护期间必须回到模型中添加,发布新版本。配置方法二很灵活,在应用系统管理界面,新增用户,维护好机构代码即可。
Cognos Transformer自定义视图过滤控制
Step01:在新建模型中,Custom Views视图窗口是没有用户过滤信息,需要手工处理。
Step02:在Categories目录树中—>选Custom Views窗口新建一个Create Custom Views。
Step03:新创建的用户组可以选多个角色,如东北区用户组,可以选择:黑龙江,吉林,山东三个角色组。
Step04:限制组织机构范围,同时限制度量给哪些用户组。每个模型都得增加一个Admin的管理员。
Step05:添加完用户组之后,把Custom Views窗口下的用户组全部加载到 PowerCubes下。
Step06:生成Cube,并发布到Cognos BI web服务。用工号登陆测试,检验用户查询信息是否过滤到位。
提示:Transformer模型设计用户类过滤有两种情况:
1、 数据源(Data Sources)是IQD,TXT,XLS等多种文件格式,通过ODBC接口取数据,需要按照前面的步骤来设置用户类限制。达到每个用户看到的数据在自己组织机构下。
2、 数据源来自Cognos Package包,包文件结构已含组织机构与角色之间的绑定关系,此时Transformer模型根据登陆用户生成限制Cube信息,再不受其他用户所控制。任何用户看到的结果都是一样,在设计Package包时,临时创建无用户类信息包引用到模型中