参考:
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. Java常考面试题

    Java常考面试题 1. 什么是Java虚拟机?为什么Java被称作是“平台无关的编程语言”? 答:Java虚拟机是一个可以执行Java字节码的虚拟机进程.Java源文件被编译成能被Java虚拟机执行 ...

  2. 纯原生仿ES6的Object.assign,实现深度合并对象

    源码: function isObj(x){ var type = typeof x; return x !== null && (type === 'object' || type ...

  3. [转]Android UI 自动化测试

    介绍 Android测试支持库包含UI自动化模块,它可以对Android应用进行自动黑盒测试.在API Level 18中引入了自动化模块,它允许开发者在组成应用UI的控件上模仿用户行为. 在这个教程 ...

  4. ant-design 实现一个登陆窗口

    前提:已经完成项目实战(https://ant.design/docs/react/practical-projects-cn#定义-Model) 如果要想实现一个登陆窗口,首先得有一个ui,想到的是 ...

  5. java.sql.Date java.sql.Time java.sql.Timestamp 之比较

    java.sql.Date,java.sql.Time和java.sql.Timestamp 三个都是java.util.Date的子类(包装类). java.sql.Date是java.util.D ...

  6. Python网络编程(基础总结、 入门经典)

    Linux下文件类型:     bcd -lsp          b(块.设备文件)          c(字符设备文件)          d(目录)          -(普通文件)       ...

  7. 数据结构与算法之顺序栈C语言实现

    顺序栈是一种特殊的顺序表,主要操作是入栈和出栈.将顺序表加一些特定限制,就成了顺序栈. 注: 1.顺序栈C语言实现: 2.按较简单的方式实现,主要帮助理解,可在此基础上修改,更加完善: 3.提供几个简 ...

  8. git instaweb 500 error

    在arch 系统中安装perl-cgi包. 在deiban中参考:https://git-scm.com/book/zh/v2/%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%8A ...

  9. Week2 Teamework from Z.XML 软件分析与用户需求调查(四)Bing桌面及助手的现状与发展

    一.Bing搜索的相关背景 第一,必应搜索前几年的发展重点在于欧美市场,并且取得了一定的成效:根据 Hitwise 的统计数据,Bing 在 2011年3 月份市场占有率突破了 30% 大关,达到 3 ...

  10. 关于Oracle

    Oracle初学者必知的100个问题 1. Oracle安装完成后的初始口令?  internal/oracle  sys/change_on_install  system/manager  sco ...