- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Domino单点登录LTPAtoken生成原理
Domino单点登录LTPAtoken生成原理
一、? WebSphere与Domino之间的SSO
首先让我们来了解一下Websphere与Domino之间是怎么完成SSO的:
?
1、? Web用户向Websphere发起一个登录请求。
2、? Websphere判断为合法用户,登录成功。
3、? 生成ltpatoken,将ltpatoken写入cookie。
?
这样,当Web用户后续向Domino发起登录请求时,Domino会找到存放在cookie信息中的ltpatoken信息,并且认为这个ltpatoken有效,完成在domino的登录过程。那么这里会有2个疑问。第1个,Domino怎么会找的到Websphere存放的cookie,这就是为什么配置SSO的时候需要2个系统是在同一个DNS域下面,因为浏览器cookie共享的限制,跨域不能共享cookie嘛(当然也能用一些其他的手段生成跨域的cookie,这样其实通过一定的开发是可以让LTPATOKEN跨域的,本案例不讨论这个问题)。第2个问题,domino找到这个token之后,凭什么认识这个ltpatoken,并且认为它有效呢,所以要求domino和Websphere在生成ltpatoken的时候就有某种约定。这就是为什么配置Domino SSO文档的时候需要引入Websphere的密钥了。有了这些前提Domino和Websphere之间就能互相认识对方生成的ltpatoken,并且从中读出需要登录的用户名,只要用户名匹配得上(这就是为什么W和D需要用同一个LDAP目录),该用户就完成登录了。 以上就是简单的Websphere与Domino之间SSO的原理。当然其实SSO过程还没有这么简单,比如还需要验证ltpatoken的有效期等。
现在我们知道实现SSO的关键在于LtpaToken,Websphere与Domino之间采用LtpaToken来共享认证信息。
那么基本上任何一个系统只能要完成以下2件事情,它就有可能参与LtpaToken认证的SSO方案了:
1、? 能生成一个有效的LtpaToken提供给别人。
2、? 能解析一个别人生成的LtpaToken。
另外,可能还有一些要求:
1、? 参与SSO的系统使用同样的密钥生成LtpaToken,称为公钥。
2、? 参与SSO的用户帐号名称在各系统中一致,因为每个系统从Token中读出了用户名之后必须要正确关联到本地对应的用户进行登录。
3、? 参与SSO的系统必须在同一个DNS域下面(跨域的问题前面提过)。
4、? 最后当然需要采用B/S方式,浏览器必须支持Cookies了。
?一、? LtpaToken组成原理
通过了解LtpaToken的组成原理,我们就可以自己编码???成和解析LtpaToken了。首先一个LtpaToken的合成公式如下:
[token] = BASE64([header][creation time][expiration time][username][SHA-1 hash])
解释:
????????? Header: LtpaToken 版本(长度4),Domino的固定为[0x00][0x01][0x02][0x03]
????????? Creation time: 创建时间戳(长度8),格式为Unix time比如[2010-03-12 00:21:49]为4B99189D
????????? expiration time:过期时间戳(长度8) 同上
????????? username: 用户名(长度不定)
????????? SHA-1 hash:SHA-1校验和(长度20)
如下图:
?
?
上面的SHA-1校验和,又是由前面所说的密钥和其余的Token资料合并而成,合成公式如下:
[SHA-1 hash] = SHA-1([header][creation time][expiration time][username][shared secret])
所以,如果有人篡改了Token,那校验和就与修改后的Token匹配不上了,这样Token一旦生成,有人想要修改它的信息,比如改成别的用户名,是不可能的。
二、? Domino如何处理LtpaToken
查看一下domino的Web SSO配置文档:
1、? Domino生成LtpaToken的密钥存放在LTPA_DominoSecret字段
2、? LTPA_TokenExpiration字段存放失效分钟数。
3、? LTPA_TokenName字段存放Token表示在cookie的name
….如下图:
?
再加上上面分析过的LtpaToken组成原理,我们大概可以知道domino是怎么生成LtpaTo
您可能关注的文档
最近下载
- 六年级下册总复习《比和比例》说课稿.pdf
- (2023正式版)JBT 14355-2023 发动机尾焰测温用钨铼热电偶丝 .docx VIP
- 骨架油封结构型式标准用途..docx VIP
- 2024第六届(2024年)“信用电力”知识竞赛活动总试题库资料-上(单选题汇总).pdf
- (完整word版)全新版大学英语综合教程4课文原文及翻译.pdf VIP
- 京能集团招聘笔试题库2023.pdf
- 抗震支架施工方案.doc
- 代买车辆协议书(精选5篇).docx VIP
- USP 1207.1 包装完整性和测试方法选择(中英对照).doc
- 山西梅园许村煤业有限公司120万ta矿井兼并重组整合项目环境影响报告书(公示版)-副本.doc VIP
文档评论(0)