Board logo

标题: IBM Cognos BI 身份验证和单点登录(3) [打印本页]

作者: look_w    时间: 2018-6-23 10:38     标题: IBM Cognos BI 身份验证和单点登录(3)

自定义 Java 身份验证提供程序 (Custom Java Authentication Provider,        CJAP)除了开箱即用地提供的身份验证提供程序之外,IBM Cognos BI 还提供了一个软件开发工具包 (SDK) 来使用 Java          编写自定义身份验证提供程序 (CJAP)。CJAP 实现了一个定义明确的 Java        接口,提供了读取和搜索来自身份验证来源的安全对象,基于各种凭据类型执行身份验证,可能还提供 SSO 支持功能。通过使用        SDK,可发挥出附加到几乎任何类型的身份验证来源和支持基于任何给定令牌的 SSO 的巨大潜力。
还有一种称为 Trusted Signon Provider (TSP) 的特殊类型的 CJAP。TSP 在本质上是一个轻型        CJAP,因为它仅实现一个特定的功能部分。TSP 充当着一个完整的身份验证提供程序之前的代理,用作一个受(IBM Cognos        BI)信任的相关方。它不能单独存在,因为它没有附加到任何身份验证来源,不会在运行时在 IBM Cognos Administration 中显示为命名空间。它仅基于 IBM        Cognos Configuration 出于连接目的而指定的配置设置,在内部定义一个命名空间对象。TSP 所做的工作就是使用一个发送到 IBM Cognos BI 的 HTTP        请求中的令牌来执行身份验证,应用必要的操作从该令牌推断用户身份,并在添加了一个可供辅助身份验证提供程序使用的额外令牌之后,将原始请求传递给这个辅助提供程序。它有效地将自定义令牌转换为受配置的服务提供程序支持的令牌。然后,辅助提供程序将处理该令牌,就像该令牌是从一个受信任方传递给它,跳过该提供程序中的初始验证步骤。它将直接前进到对传递的用户身份的确认步骤。
一个 TSP 示例是 IBM Cognos BI 以开箱即用方式提供的 Computer Associates (CA) SiteMinder 身份验证提供程序。SiteMinder        TSP 所做的工作是:使用名为 SMSESSION 的专用加密 SiteMinder cookie,采用 Computer Associates 所提供的 SiteMinder API        来解密该 cookie 的内容,然后从中推断用户身份。此用户身份(从技术上讲是一个字符串)首先放入标准的 HTTP 标头 REMOTE_USER        中,然后将请求传递到辅助身份验证提供程序。当然,这个辅助提供程序必须支持基于 REMOTE_USER HTTP 标头的 SSO。一些通过 IBM Cognos BI        提供开箱即用的验证功能的身份验证提供程序都满足此要求。SiteMinder Namespace 中没有用户,这些用户只能通过为此身份验证配置的辅助身份验证提供程序来进行访问。
身份验证对话尽管很容易想到一个发送用于身份验证的请求包含所有需要的登录数据(要验证的命名空间和该命名空间的有效凭据),但事实上并不是所有使用情形都是这样的。对于身份验证提供程序,发送给它的每个请求都被单独对待,但在某些情形下,身份验证流程不是一个单步操作。相反,身份验证流程可能需要多个步骤,这些步骤构成一次类似于关系数据库事务的逻辑对话。该对话包含在客户端、IBM        Cognos 入口点、CAM_AsyncAAService 和/或处理身份验证提供程序之间交换的多个请求和响应,要么成功,要么失败。
这个对话概念允许向身份验证请求的发送方返回限定的响应。这些响应要么要求提供继续执行身份验证的后续步骤所需的额外信息,要么告知所发生的阻碍身份验证流程继续进行的错误。响应向发送请求的客户端触发的具体操作,将依赖于客户端的类型和响应类型。这些对话概念已在自定义身份验证提供程序开发指南,第          2 章,身份验证请求:流场景 中提及的 3 个场景中介绍。
如果身份验证请求未包含立即完成身份验证所需的足够的登录数据,IBM Cognos BI          身份验证提供程序将使用一种回调机制,使身份验证提供程序能够向用户或系统请求额外的信息。身份验证提供程序返回一个所谓的异常,这类似于 Java        异常,因为调用方(在此情况下是身份验证请求的发送方)负责处理该异常。调用方负责解释异常并做出反应,要么发送另一个包含更多信息,使身份验证流程能继续进行的请求,要么告示用户可能发生的错误。
IBM Cognos BI 身份验证提供程序可返回 3 种类型的异常。这些异常出现在跟踪级日志中,是 Presentation Service 为基于 HTML        的客户端呈现的面向用户的对话框的基础。在以下对异常的描述中,在日志文件中找到的实际标签和错误代码被放在括号中。
总体上讲,这个流程表明在身份验证最终成功或失败之前,一次身份验证对话可能需要在身份验证提供程序与 IBM Cognos        入口点、客户端或最终用户之间执行多轮请求和响应。这种来回通信(还涉及到 CAM_AsyncAAService 和 CAM)也被称为身份验证之舞          (authentication dance)
登录数据上一节介绍了通过一个对话来收集足够的登录数据,以处理身份验证请求的概念。本节将介绍 IBM Cognos BI 提供的所有完整的身份验证提供程序接受的登录数据的实际类型。
发送给身份验证提供程序的请求中有 4 种可能的登录数据类型





欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0