什么是单点登录:
单点登录SSO(Single Sign-On)是身份管理中的一部分。SSO的一种较为通俗的定义是:SSO是指访问同一服务器不同应用中的受保护资源的同一用户,只需要登录一次,即通过一个应用中的安全验证后,再访问其他应用中的受保护资源时,不再需要重新登录验证。
典型的非SSO登录步骤如下:
SSO的安装策略:
step1:配置 --核心OBISSO功能
step2:校验 --使用简单的web页面
step3:集成 --第三方SSO产品后者定制web应用
配置步骤如下:
1,在资料库中创建一个实验用户
----必须是管理员组的一个成员
2,增加实验者凭证到凭证库里
----使用加密工具
3,在Presentation server识别凭证
----修改instanctconfig.xml文件
4,为SSO配置Presentation Server
基本的SSO OBI登录步骤 (如下图):
在OBI中可以使用的SSO方法有:
1,服务器变量方法
通过预定义的协议,将变量从服务器传到另一台服务器
2,cookie方法
利用保存在客户端电脑上的变量信息进行识别
3,HTTP HEADER方法
header变量作为请求的一部分被传递
以上方法在实际中都有用到,但是不是很安全。
安全的SSO OBI登录步骤 (如下图):
安全的SSO设计:
登录的处理流程:
1,用户登录公司门户站点
2,用户点击OBI的应用链接
3,产生GUID,并且将记录插图到Auth_Table中
4,userId被设置到会话cookie中,用户被重定向到OBI应用,同时会将GUI作为URL的参数传递过去
5,OBI报表服务器接收到参数(userId和GUID),将其传递给BI sever
6,BI Server填充:USER变量
7,实例化GUID初始化块,填充NQ_SESSION.GUID
8,Authorization初始化块检查Auth_table是否存在包含该GUID和userId的Record,同时判断Record里的timestamp - 当前时间未超出设定的X分钟,并且Used Flag尚未设置值。如果以上满足的话,Auth_sp设置Used Flag的值,并且返回Success,否则返回Failure。
9,当Auth_sp返回Success时,Authorization初始化块设置NQ_SESSION.GROUP。
附:
与安全有关的设计特点
1,使用GUID,在请求的时候产生唯一的用户标识
2,GUID/UserId认证是有时间限制的,在X分钟内有效
3,GUID/UserId认证是有使用限制的,only valid for 1 use
4,两个Token认证,Auth_sp需要GUID和UserId
5,GUID和UserId使用不同的方法(url和cookie)
6,由于GUID是唯一的,并且不易理解,所以我们将其放在url上作为参数
7,cookie是会话级别的,所以不会永久写在客户端电脑上
8,使用https
9,通过使用非描述性的变量名称增加更多的安全性
与功能相关的设计特点
1,UserId是第一个认证参数
a,阻止使用跟踪干扰
b,阻止管理会话用户识别
2,实现SA 系统主题区域
a,允许Ibot起作用