参考:
http://www-01.ibm.com/support/knowledgecenter/api/content/SSEP7J_10.2.2/com.ibm.swg.ba.cognos.crn_arch.10.2.2.doc/c_restrict_access_using_ldap_groups_or_roles.html#Restrict_Access_Using_LDAP_Groups_or_Roles?locale=zh

使用 LDAP 组或角色限制访问

LDAP 目录中并非所有用户必须使用 IBM® Cognos® BI。仅授予指定用户对 IBM Cognos Connection 的访问权限。可通过在目录服务器中创建 IBM Cognos BI 特定的组或角色,将所需的用户添加到其成员资格,并授予组或角色对 IBM Cognos Connection 的访问权限,进行此操作。

替代方法基于使用 LDAP 组织单元 (OU)。

您是否必须创建组或角色取决于认证提供程序。如果您使用 Oracle 目录服务器,那么必须创建角色,因为此提供程序将角色成员资格用作其用户帐户信息的一部分。如果您使用 Active Directory,那么必须创建组,因为此提供程序将组成员资格用作其用户帐户信息的一部分。

使用角色

使用 Oracle 目录服务器来为此技术创建角色。有关创建此类型角色的更多信息,请参阅 Oracle 目录服务器文档。

确保在 IBM Cognos Configuration 的安全、认证类别中正确定义了以下参数。

  • 用户查找

    将用户查找字符串配置为包含将用于对 ${userID} 变量进行认证的属性。此变量采用在登录时输入的用户名,并将该变量替换为值,然后将搜索字符串传递到目录服务器。角色的专有名称 (DN) 也必须包括在字符串中。

    以下为查找字符串的示例:

    (&(uid=${userID})(nsrole=cn=Cognos,ou=people,dc=cognos,dc=com))

    在此示例中,组织单元 (ou) 中的 IBM Cognos BI 角色的所有成员(已命名人员)具有 IBM Cognos Connection 的访问权限。

  • 是否使用外部身份?

    如果已启用单点登录,请将值设置为 True。

  • 外部身份映射

    如果是否使用外部身份?设置为 True,请指定此属性。

    构造字符串来在 LDAP 目录服务器中查找用户。在登录时,此字符串中的环境变量 ${environment("REMOTE_USER")} 会替换为用户名。

    在以下示例中,Web 浏览器会设置环境变量 REMOTE_USER,其匹配用户的 uid 属性:

    (&(uid=${environment("REMOTE_USER")})(nsrole=cn=Cognos,ou=people,dc=cognos,dc=com))

    在某些情况下,REMOTE_USER 变量(通常是 DOMAIN\username 格式)不能匹配任何用户 uid 属性。要解决此问题,将 replace 函数包括在字符串中,如以下示例中所示:

    (&(uid=${replace(${environment("REMOTE_USER")},"ABC\\","")})(nsrole=cn=Cognos,ou=people,dc=cognos,dc=com))

    如果包括 replace 函数,那么域名(在此示例中为 ABC)会替换为空字符串,且仅用户名会传递到目录服务器。

    域名在此上下文中区分大小写。

创建角色之后,使用 IBM Cognos Configuration 配置它,以访问 IBM Cognos Connection。角色还可以添加到 Cognos 名称空间。

使用组

使用 Active Directory 来为此技术创建组。此技术涉及对用户查找字符串的修改。由于 Active Directory 不具有此属性,因此无法使用它。而是使用相关联的 LDAP 提供程序。

确保在 IBM Cognos Configuration 的安全、认证类别中正确指定了以下参数。

  • 用户查找

    将查找字符串配置为包含将用于对 ${userID} 变量进行认证的属性。此变量采用在登录时输入的用户名,并将该变量替换为值,然后将搜索字符串传递到目录服务器。组的专有名称 (DN) 也必须包括在字符串中。

    以下为查找字符串的示例:

    (&(sAMAccountName=${userID})(memberOf=cn=ReportNet,ou=Groups,dc=cognos,dc=com))
  • 是否使用外部身份?

    如果已启用单点登录,请将值设置为 True。

  • 外部身份映射

    如果是否使用外部身份?设置为 True,请指定此属性。

    构造字符串来在 LDAP 目录服务器中查找用户。在登录时,此字符串中的环境变量 ${environment("REMOTE_USER")} 会由用户名替换,然后字符串会传递到目录服务器。

    在以下示例中,Web 浏览器会设置环境变量 REMOTE_USER,其匹配用户的 uid 属性。从浏览器会话读取环境变量,而不是将硬编码的sAMAccountName 值替换为 ${userID}。

    (&(sAMAccountName=${environment("REMOTE_USER")})(memberOf=cn=Cognos,cn=Groups,dc=cognos,dc=com))

创建组之后,使用 IBM Cognos Configuration 配置它,以访问 IBM Cognos Connection。组还可以添加到 Cognos 名称空间。

[转]使用 LDAP 组或角色限制访问,包含部分单点登录SSO说明的更多相关文章

  1. [转]使用 LDAP OU 限制访问

    使用 LDAP OU 限制访问 http://www-01.ibm.com/support/knowledgecenter/api/content/SSEP7J_10.2.2/com.ibm.swg. ...

  2. CSU 1642 Problem B[难][前缀和]

    Description 已知两个正整数a和b,求在a与b之间(包含a和b)的所有整数的十进制表示中1出现的次数. Input 多组数据(不超过100000组),每组数据2个整数a,b.(1≤a,b≤1 ...

  3. 用户、组或角色 '' 在当前数据库中已存在。 (Microsoft SQL Server,错误: 15023)

    SQLServer2008用户组或角色'*****'在当前数据库中已存在问题的解决办法 在迁移数据库的过程中SQLServer SDE的问题 为一个数据库添加一个用户时,提示以下信息:用户.组或角色 ...

  4. [caffe]linux下安装caffe(无cuda)以及python接口

    昨天在mac上折腾了一天都没有安装成功,晚上在mac上装了一个ParallelDesktop虚拟机,然后装了linux,十分钟就安装好了,我也是醉了=.= 主要过程稍微记录一下: 1.安装BLAS s ...

  5. [Swift]基础

    [Swift]基础 一, 常用变量 var str = "Hello, playground" //变量 let str1="Hello xmj112288" ...

  6. [Ruby on Rails系列]4、专题:Rails应用的国际化[i18n]

    1. 什么是internationalization(i18n)? 国际化,英文简称i18n,按照维基百科的定义:国际化是指在设计软件,将软件与特定语言及地区脱钩的过程.当软件被移植到不同的语言及地区 ...

  7. [译]一个灵活的 Trello 敏捷工作流

    [译]一个灵活的 Trello 敏捷工作流 翻译自 An Agile Trello Workflow That Keeps Tasks Flexible Getting things done 可不只 ...

  8. iOS10收集IDFA,植入第三方广告[终结]--ADMob

    [PS: 前段时间,公司做ASO推广,需要在应用中收集IDFA值,跟广告平台做交互!于是有了这个需求--] 1.首先,考虑了一下情况(自己懒 -_-#),就直接在首页上写了一个Banner,循环加载广 ...

  9. SQL Server 创建用户报错:消息 15023,级别 16,状态 1,第 1 行 用户、组或角色 'XXX' 在当前数据库中已存在。

    问题描述: 原因: 当数据库恢复到其他服务器时,原数据库中包含一组用户和权限,但可能没有相应的登录或者登录所关联的用户可能不是相同的用户. 这种情况可能会出现上面的问题.该问题是无法通过新建登录或者是 ...

随机推荐

  1. CentOS修改网卡名称

    转 一.问题说明 测试环境中出现的小问题,因为虚拟机之间经常复制来复制去,导致网卡配置这块的不一致现象. 配置文件的信息: [root@ora10g network-scripts]# catifcf ...

  2. Appium如何获取appPackage和appActivity

    基本概念: appPackage:简单来说是App开发者提供的名称. appActivity:简单来说是App提供的各种不同的功能.每个程序都有个MainActivity,就是打开程序时显示在屏幕的活 ...

  3. Fiddler 4 实现手机App的抓包

    Fiddler不但能截获各种浏览器发出的HTTP请求, 也可以截获各种智能手机发出的HTTP/HTTPS请求. Fiddler能捕获IOS设备发出的请求,比如IPhone, IPad, MacBook ...

  4. 怎么使用pipenv管理你的python项目

    原文链接:https://robots.thoughtbot.com/how-to-manage-your-python-projects-with-pipenv 翻译者:Jiong 在thought ...

  5. HDU 4433 locker(DP)(2012 Asia Tianjin Regional Contest)

    Problem Description A password locker with N digits, each digit can be rotated to 0-9 circularly.You ...

  6. 第1讲——用C++写一个程序

    一.学习新知识 在学习C++之前学过C语言了,一些基础的就不bb了,进入正题. 来几个小程序练练手: [程序1] #include <iostream> //头文件 using names ...

  7. python进制转换(二进制、十进制和十六进制)及注意事项

    使用内置函数实现进制转换实现比较简单,主要用到以下函数: bin().oct().int().hex() 下面分别详解一下各个函数的使用(附实例) 第一部分:其他进制转十进制 1.二进制转十进制 使用 ...

  8. java中使用POI+excel 实现数据的批量导入和导出

    java web中使用POI实现excel文件的导入和导出 文件导出 //导入excle表 public String exportXls() throws IOException{ //1.查询所有 ...

  9. Sql Express数据备份和还原

    参考文章:在SQL Server Express版本中没有代理功能如何自动备份数据库 首先用以下脚本,生成可以自动备份数据库的存储过程: USE [master] GO SET ANSI_NULLS ...

  10. TemplateDoesNotExist 异常

    TemplateDoesNotExist 异常 如果 get_template() 找不到给定名称的模板,将会引发一个 TemplateDoesNotExist 异常.假设你的 DEBUG项设置为 T ...