周末陪女朋友去了,没写,告罪,上班后急忙补上。
这里说到了可复用得设计,所谓可复用就是指的,引入Dll,改改配置就能使用,而不是打开源代码东改改西改改再来调试调试最后OK。我们这里尽量提高抽象层次减少系统耦合。
首先系统需要一个中心认证端,多个客户端构成。所以需要一个SSO的模块和一个PSO的模块,这两个模块都由工具类和HttpModule组成
这里SSO的Keeper类和PSO的PSOClient类都是HttpModule。
Keeper在配置中设置一个URL,它只监听对这个URL的请求,就是用来处理PSO向SSO端查询SSOToken是否存在的请求的。它包含了SSO端的逻辑
PSOClient在配置中设置一个例外列表,它监听例外列表外的所有请求,判断是否有PSOToken,或者URL里是否包含SSOToken,它包括了整个PSO端的逻辑
TicketCreator是一个工具类,用于用户登录成功后调用来产生SSOToken的。
这两个组件包括了所有的逻辑,但是有一些公共的东西我们需要抽象出来(不然就成了意大利面条式的代码了:})
这个项目封装了整个3DES加密解密,密钥生成的逻辑,.NET的加密解密名字空间里的类用法很恶心,太恶心了。
Encrypter加密,Decrypter解密,KeyMaker密钥生成,Common是公共的字符串操作类
这个项目包含了所有公共数据结构和操作的基本逻辑还有密钥的获取更新的功能,为了摆脱对数据库的依赖,这里我们使用了文件的方式,其实老实说效率不会低。
KeyManager是密钥管理的操作的类
PSORequest是PSO向SSO发送的SSOToken查询请求的结构及其操作的类
SSOResponse是SSO验证登陆成功后向PSO发送的包含SSOToken的请求的结构及其操作的类
Ticket是操作Cookie票据的类
实用的方法:
引入DLL到SSO站点
修改Web.Config
添加自定义配置和加载HttpModule的模块
这样子SSO站点就配置好了
引入DLL到PSO站点
修改Web.Config
添加自定义配置和加载HttpModule的模块
ok
现在用KeyManager生成一个Key和IV的文件,之后就可以使用了
看看,是不是一句代码都没改,也不用重新编译阿:}
下一章放出主要代码和说明
To be continue......
分享到:
相关推荐
SSO单点登录数据库设计,上一个文件忘记上传数据库设计。本次上传加上
单点登录系统(SSO)详细设计说明书
C#单点登陆组件源码SSO(类似微软认证服务器和WEB应用服务器,可跨域跨服务器...)
里面存放了源代码和文档,可提供给各位研究
单点登录(Single Sign On , 简称 SSO )是目前比较流行的服务于企业业务整合的解决方案之一, SSO 使得在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。CAS(Central Authentication ...
spring boot整合spring security 实现SSO单点登陆 完整DEMO. ...2、先后启动SsoServer、sso-resource、sso-client1、sso-client2 3、访问http://sso-taobao:8083/client1/ 或 http://sso-tmall:8084/client2/
详细描述了SSO的解决方案,让您初步认识到SSO的方案设计
基于Python+MySQL的私有化单点登录(SSO)系统的设计与实现+详细文档+全部资料(高分毕业设计).zip基于Python+MySQL的私有化单点登录(SSO)系统的设计与实现+详细文档+全部资料(高分毕业设计).zip基于Python+MySQL的...
SSO之CAS单点登录详细教程.docx
SSO的简单实现SSO的简单实现SSO的简单实现
sso各子系统在集成sso后可通过sso client 端提供的一下接口获取sso数据
sso php sso 用php设计的认证中心 认证流程 用户打开任意网站→点击登录→将登录请求发送到认证中心(带上该页面的完整url地址) ↓认证中心接到登录请求: 展示登录页面(自己设计)→用户输入账号密码→点击登录→...
sso单点登录sso单点登录sso单点登录sso单点登录
为了单点登录系统 SSO系统 的可行性 完整性 并能按照预期的设想实现该系统 特编写需求说明书 同时 说明书也发挥与策划和设计人员更好地沟通的作用
基于redis实现的单点登录这套方案比SSO CAS来说比较简单,容易上手,主要是依赖每个应用的拦截器和redis实现单点登录。
单点登录(SSO)基础篇_v3.pdf,这是一份关于单点登录的技术文档
SSO单点登录概要设计说明书.pdf
本文除了从多个方面和角度给出了对单点登录(SSO)的全面分析,还并且讨论了如何将现有的应用和SSO服务结合起来,能够帮助应用架构师和系统分析人员从本质上认识单点登录,从而更好地设计出符合需要的安全架构。
对于EIA系统集成时,通常需提供一套SSO单点登录的解决方案,此方案是微软公司自己推出的一套设计方案,供同行参考,有兴趣可以邮箱与本人交流。目前主要专注于:SSO、CAS、JBPM的相关知识 :)