
通过这份文档将采用的SSO机制进行分析,并和其它SSO方案进行比较。
1SSO定义
单点登录的英文名称为Single Sign-On,简写为SSO。在用户有权限访问的多个系统间,只要用户在其中一个系统做过认证(Authentication)后,就不用再次做认证即可以访问其他系统。
IBM对SSO有一个形象的解释:“单点登录、全网漫游”。
2WAS SSO机制介绍
业务平台拟采用WAS SSO机制。
2.1实现原理
目前主流SSO的实现方案中实现机制不尽相同,大体分为Cookie机制和Session机制两大类。
2.1.1基于Session的机制
WebLogic通过Session共享认证信息。Session是一种服务器端机制,当客户端访问服务器时,服务器为客户端创建一个唯一的SessionID,以使在整个交互过程中始终保持状态,而交互的信息则可由应用自行指定,因此用Session方式实现SSO,不能在多个浏览器之间实现单点登录,但却可以跨域。
2.1.2基于Cookie的机制
WebSphere通过Cookie记录认证信息。Cookie是一种客户端机制,它存储的内容主要包括: 名字、值、过期时间、路径和域,路径与域合在一起就构成了Cookie的作用范围,因此用Cookie方式可实现SSO,但域名必须相同。目前大部分SSO产品采用的是Cookie机制,WAS、CAS也是如此。
注意,这种Cookie机制要求实现单点登录的应用,其域名必须是相同的。例如:a.bankcomm.com, b.bankcomm.com就可以经过配置后实现SSO。
2.1.3WAS SSO机制原理
WAS使用Cookie实现单点登录的原理图如图4所示。

图 4 使用Cookie实现单点登录的原理图
某个应用程序首先要发起第1次认证。第一次访问应用程序时会显示登录页面。
用户在登录页面中,输入用户名和密码。
而 win98 及 nt sp3之后版本及 win2000 的密码机制是属于加过密的密码,当登入samba server 时所传送的是加密的密码给 samba,因而无法认证登入,此时,必须为需要登入 samba server 的使用者帐号,利用 smbpasswd 这个工具程序建立登入samba 的密码,当 windows client 端登入 samba 时,就可接受加过密的密码做为认证,不过此时就无需使用「linux主机的帐号与密码做为登入samba server的帐号与密码」,因为已经为使用者建立属于登入 samba 的密码。登录新增认证码功能,要同时满足密码跟认证码同时正确才能登录,此功能可防止非法用户知道密码也无法登录。移动认证建立起包括一键免密登录、实名认证、二次号、本机号码校验等多种能力ibm 单点登录,提供静态密码、短验认证、sim卡快捷确认、sim盾、二维码、ussd及ivr认证等多种认证方式,覆盖pc端、移动端,实现全场景登入,为亿万用户提供便捷安全的一键登录体验和可信环境,免除了忘记帐号、密码等烦恼。
认证通过之后,页面重定向,回到Web应用。Web应用此时就完成了成功的登录。
然后应用服务器会在客户端创建一个Cookie,Cookie里面保存了LTPA令牌。Cookie是在用户的客户端,而不是服务端创建一个Cookie。这个Cookie是一个加密的Cookie,其中保存了用户登录的信息。
如果用户此时希望进入其他Web应用程序,此时WAS不再要求用户输入用户名和密码,而是首先自动寻找Cookie,根据Cookie中保存的信息,进行登录。登录之后,WAS重定向回到用户的应用程序。
这样,就不再需要用户继续输入用户名和密码,从而实现了单点登录。
这种单点登录体系中,并没有通过http进行密码的传递(但是有用户名的传递),因此是十分安全的。
2.1.3.1LDAP简介
LDAP是英文“Lightweight Directory Access Protocol”的简称,中文翻译为轻量级目录访问协议。它是一种因特网上的访问协议,主要用于从服务器上检索信息。
LDAP服务器用来保存信息,中文有时候也称为目录服务。使用“表”来储存数据,可以把一个想象为日常生活中的“表格”。而LDAP用“树”来存储数据,可以把它想象为日常生活中的“电话号码簿页”,或者干脆把LDAP想象为大家常用的文件系统,就是由文件夹和文件组成的那种树形结构。
由于LDAP的结构方式不同,因此LDAP有一个很特殊的特性,就是查询数据的速度特别快,但是写数据的速度较慢。LDAP的另一个特性就是比较适合于按照层次组织信息,例如企业的组织结构等。
由于LDAP的查询速度比快,因此经常用于诸如地址簿、用户帐号存储、组织结构信息、域名解析系统等需要大量查询的领域。
首先,我们可以很清楚地看到,LDAP是按照树形目录进行组织的。
假设公司的域名是macromedia.com,则LDAP首先使用域名作为整个树的根,并且用dc=com,dc=macromedia这样的标记来进行标注。dc的意思指“Domain Component”。LDAP中以后会大量使用这些令人费解的缩写。
分布式应用中,通常需要有一套完整的命名规则,既能够产生唯一的名称又便于人识别和记住,通常情况下用树形的名称结构是一个理想的选择,树形的名称结构是一个有层次的目录结构,既对人友好又不会重复。栗子树的种植是非常讲究的,栗子树的成长对于树土、水、以及肥的管理是非常严格的,随着栗子树的生长每年都是需要扩张树穴,经常用到的办法就是以定值的穴外边缘为界,每年向外的开深量为八十到一百厘米,在栗子树幼年时整形的树形,也是需要管理的具体的方法在这里就不再和大家多说了,有兴趣了解的朋友可以学习,今天关于栗子树价格的讲解就到这里。从合并计算后前五名客户交易金额占公司当期营业收入的比例看,报告期内平均值达到77.61%,相对较高,其主要原因是公司所处细分行业主要销售对象为大型铁路施工单位,由于铁路施工涉及国计民生,施工质量要求较高,需要施工单位具备较强的资金规模、技术实力及相应的施工资质,国内能够符合要求的铁路施工单位数量较少,导致公司销售对象(合并计算)相对集中。
链表通常由一连串节点组成,每个节点包含任意的实例数据(data fields)和一或两个用来指向上一个/或下一个节点的位置的链接("links")。 // 用来定位节点,如果为0则定位到包含key的节点。谓词(用来查找某个特定的节点或者包含某个指定的值的节点,通常使用在[]内)。
ou下面的节点,可以是另一个ou,也可以是cn节点。cn是“Common Name”的缩写,它是树叶节点,可以把它对比为文件系统中的文件。cn节点通常用来存储用户的信息,例如某个用户的地址等。
这样,各个节点按照树形组织起来,就变成了图5的样子。

图 5 LDAP结构
2.1.3.2LTPA简介
LTPA(Lightweight Third Party Authentication)技术是IBM的标准。当某用户访问某WebSphere URL时,系统会提示他输入用户名和口令进行登录。这时用户可以输入他的唯一标识符,通过验证后,Web服务器将把该用户的Web 浏览器中显示的Web 站点内容发送回来。在后台,WebSphere入口网站服务器将会建立包含已鉴别使用者认证的单点登录Cookie,并且会一直发送该cookieibm 单点登录,而浏览器通常的默认设置是允许接收cookie的,因此用户的浏览器将保存这个cookie。 LTPA cookie是临时的,只在浏览器内存中存留,用户如果关闭浏览器,cookie就会被永久删除。LTPA cookie的特点如下:
(1)LTPA cookie是一种典型的浏览器cookie,它保存的信息表示该用户已经进行了登录。所有的浏览器cookies都有名称等标准属性。LTPA cookie特有的名称是LtpaToken。当配置 SSO时,在配置实用工具中,通常将LTPA cookie称为SSO LTPA“令牌”。LTPA cookie有一个被编码值,隐藏起cookie中包含的重要信息并且通过Internet传输。
(2)LTPA cookie 具有典型的浏览器cookie的相关域的信息,LTPA的实现依赖于具有域信息的浏览器cookies,因此,通常SSO环境必须部署到单一DNS域中,即每台服务器都在同一DNS域中。
(3)在用户已经登录并且该用户的浏览器接收到 LTPA cookie以后,在HTTP通信中不再需要进行特定的配置,浏览器运行的标准方法就是浏览器将自动发送该cookie。浏览器不断地向任何正确的DNS域中的URL目标发送HTTP请求,通过这种途径不断地向外发送LPTA cookie。当SSO服务接收到HTTP请求并且发现请求中包含了LTPA cookie时,服务器将验证cookie,随即可知道该cookie属于哪一位已经登录的用户,服务器就可以允许这个用户对这台服务器进行适当的访问。浏览器的任务就是确定在什么时候应该随同HTTP通信一起发出LTPA cookie。当用户浏览到一个不在同一DNS域中的URL时, 因为该cookie不适用于这个新的DNS域,浏览器则不会发送 LTPA cookie,新的DNS目标的接收服务器就不知道用户是谁,这时会提示用户输入他的用户名和口令。
使用ssid1,选择“验证”、“加密”方式及填写预共享密钥(设置密码)。22.选择主路由的无线验证加密信息及填写预共享密钥,点击应用后路由器自动重启。一、部署samba 部署环境关闭防火墙 配置ip 安装软件包 启动服务 每个用户有自己的目录,可以浏览内容,也可以删除 所有的用户共享一个目录,只能浏览内容,不能删 二、nginx服务 二进制安装nginx包 作为web服务修改配置文件 让配置生效,验证配置 三、nginx反向代理三台web 先建立 ...。
SSO服务器使用的安全加密确保了没有任何伪造cookie的机会。没有加密密钥,其他非法 的cookie不会通过验证,伪造的cookie将被忽略。因此,SSO服务器不会被入侵。

在WebSphere Portal环境中,LTPA加密密钥通常在配置SSO时由WebSphere 创建。管理员可以将密钥导出到文件中,然后转移该文件到其他的SSO服务器(例如Domino),在那里导入密钥。系统的管理维护人员应该非常小心地处理密钥文件,把所有的副本保护好。
2.1.3.3LTPA生成机制
LTPA由以下部分组成:
LTPA token 版本(4字节)
创建时间(8字节)
过期时间(8字节)
用户名(可变长度)
LTPA 密钥(20字节)
接下来分别说明各部分的具体内容:
LTPA token 版本,例如0×0001
创建时间和过期时间为以十六进制方式表示的 Unix time,例如 2009-04-09 13:52:42 (GMT +8) = 1239256362 = 49DD8D2A。过期时间为 创建时间 + SSO 配置文档的过期时间(LTPA_TokenExpiration域)
用户名为 Names 中用户文档的 FullName 域值
Domino LTPA 密钥通过 Base64编码后,保存在 SSO 配置文档的 LTPA_Secret 域中。

图 6 LTPA结构
在这里当然不能将密钥直接发送给浏览器,所以将上述部分合并起来(如上图),计算 SHA-1 校验和。

图 7 LTPA 密钥Base64编码图
2、 对用户浏览器侧的js代码进行校验,并对cdn节点上的缓存内容做定时轮训匹配对比,判断是否被篡改。我们创建网站并且吸引客户前来浏览,我们的宗旨就是要为客户提供可以创造价值的内容,假如大量的采集内容存在导致所有网站千篇一律,你很难在万千的站点中脱颖而出,如果是伪原创特别是通过软件实现的伪原创,因为同义词替换,格式打乱等行为,所呈现的内容会是牛头不对马嘴,更谈不上让浏览的价值了。但对于邮件发送的内容编码没有仔细处理,如果需要发送非ascii文本信息的话就需要事先对发送内容进行编码,如采用base64编码的话就需要在data命令后发送content-。
2.1.3.4LTPA验证机制
接下来要验证下载没有被损坏或被篡改,首先将swift的pgp密钥导入您的密钥环,密钥将用于验证签名文件。假设它的解密加密.exe 的运行方式,首先,他进行搜索他本文件夹里有么有它原先加密过的文件,如果有加密过的文件它会产生一个thumbs.dn 的文件(我测试过了,desktop.ini文件没什么用途,那验证是否加密的文件将是thumbs.dn,里面藏着一个验证密码文件,和我们的源文件),。2. 下面讲解如何将定制的 excel 文件转成 xml 文件 1) 向已经创建好的含有 xml 映射的 excel 表中录入数据,前面说过,在 excel 中只录 入一张单据就够了,比如单据中有 10 个明细,那么单据的数量为 1,单据号中的信息可以从你的业务系统中导入,导入后的格式如下(一条 header 有效,全部 detail 有效,通过颜色可以判断) 。
如果LTPA验证通过,将获取LTPA中的用户信息,并再次与LDAP服务器进行验证该用户的有效性。
2.2自定义认证实现方式
2.2.1实现原理

自定义认证可以通过WAS中使用“独立定制注册表”方式实现认证。
通过在WAS控制台中指定实现了 com.ibm.websphere.security 包中的 UserRegistry 接口的定制注册表(需要开发自定义实现类),但要求用户自定义实现类必须实现com.ibm.websphere.security.UserRegistry的接口。
基于这个原理,我们可以自己编写一个java类,在接口实现中连接LDAP进行认证(可根据需要访问LDAP业务密码等信息),然后WAS再按照原先方式生成LTPA。
2.2.2配置方式
2.2.2.1配置使用“独立定制注册表”

2.2.2.2配置“独立定制注册表”使用的“定制注册表类名”等信息

2.2.3与WAS自带LDAP方式比较
方式优点缺点IBM建议
WAS自带LDAP方式配置简单不能定制使用业务密码建议使用
自定义认证实现方式可根据需要定制开发,可支持使用业务密码需定制开发LDAP访问方式。
需评估系统稳定性、并发性、线程是否安全等。不建议使用

2.3配置方式
2.3.1各业务系统端环境配置
2.3.1.1修改web.xml
设置应用端的web.xml,使得业务平台可以通过SSO访问资源,下例中红色部分就配置了允许访问的资源。
<security-constraint>
<web-resource-collection>

<web-resource-name>sso_GUIP</web-resource-name>
<url-pattern>/abf_comm/default4portal.jsp</url-pattern>
<url-pattern>/abf_comm/main.jsp</url-pattern>
为何不可>. 摇滚怎么了 <. 童年的时光机 <>>. 记念 <林俊杰>. 超级喜欢
<url-pattern>/common/fromITC.jsp</url-pattern>
<url-pattern>/itc_agent/agentsync/export.jsp</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>AllAuthUser</role-name>
</auth-constraint>
<user-data-constraint>
为何不可>. 摇滚怎么了 <. 童年的时光机 <>>. 记念 <林俊杰>. 超级喜欢
</user-data-constraint>
</security-constraint>
2.3.2业务平台端环境配置
2.3.2.1修改web.xml
需要在web.xml安全认证配置部分中增加用户登录的URL,红色部分需要根据应用修改,修改为允许访问的资源
<security-constraint>
<web-resource-collection>
为何不可>. 摇滚怎么了 <. 童年的时光机 <>>. 记念 <林俊杰>. 超级喜欢
<url-pattern>/abf_comm/default4portal.jsp</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>AllAuthUser</role-name>
</auth-constraint>
<user-data-constraint>
为何不可>. 摇滚怎么了 <. 童年的时光机 <>>. 记念 <林俊杰>. 超级喜欢
</user-data-constraint>
</security-constraint>
<login-config>
<auth-method>FORM</auth-method>
<form-login-config>
<form-login-page>/abf_comm/login4portal.jsp</form-login-page>
为何不可>. 摇滚怎么了 <. 童年的时光机 <>>. 记念 <林俊杰>. 超级喜欢
本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/jisuanjixue/article-107567-1.html
适时敲打