2006-11-02
[原创]S3O:一个简单的SSO单点认证系统(二)
关键字: SSO
这回把粗糙的代码 和示例发上来了,并简单说一下部署这个示例的方法
(没有传依赖的jar包,
commons-codec-1.3.jar 46,725
commons-logging-1.0.4.jar 38,015
ehcache-1.2.3.jar 208,048
hessian-3.0.20.jar 235,464
spring.jar 2,545,110
)
这个sso组件 由于比较小巧
所以没有把 server 和 client分离
部署子认证中心(server端)
附件中的示例默认配置是 server端的
你可以把他部署为任意的应用名字
例如 部署到
http://IP1:8080/s3otest
其他的都不需要修改。
部署子应用(client端)
同样的代码
用WebContent\WEB-INF\client.config下的文件
替换 WebContent\WEB-INF\下的文件
然后再部署为任意的名字
例如 部署成
http://IP2:8080/s3oclient1
再然后去修改
WEB-INF\下的S3OClientContext.xml,
根据实际情况修改下面内容
<!-- 认证中心的 URL -->
<property name="serverURL" value="http://127.0.0.1:8080/s3os" />
<!-- 当前应用的 URL (一定要是 认证中心 能访问到的)-->
<property name="clientURL" value="http://127.0.0.1:8080/s3oc1" />
修改为
<property name="serverURL" value="http://IP1:8080/s3otest" />
<property name="clientURL" value="http://IP2:8080/s3oclient1" />
然后就ok了。
依次类推 再部署若干个子应用(client端)
如http://IP2:8080/s3oclient2 ,http://IP2:8080/s3oclient3...
记得修改相应的S3OClientContext.xml文件。
然后启动这些应用就可以了
然后可以从任意一个子应用登陆
例如
http://IP2:8080/s3oclient1
由于是首次访问,系统自动跳转到 登录页面
我提供的默认的验证模块很简单 只要 你的用户名和密码一样 并且长度大于等于3 就可以登陆
登陆后 你可以尝试着去访问其他的应用的页面
(需要修改一下 示例jsp文件中提供的连接 或者手动打另外一个应用的url)
(没有传依赖的jar包,
commons-codec-1.3.jar 46,725
commons-logging-1.0.4.jar 38,015
ehcache-1.2.3.jar 208,048
hessian-3.0.20.jar 235,464
spring.jar 2,545,110
)
这个sso组件 由于比较小巧
所以没有把 server 和 client分离
部署子认证中心(server端)
附件中的示例默认配置是 server端的
你可以把他部署为任意的应用名字
例如 部署到
http://IP1:8080/s3otest
其他的都不需要修改。
部署子应用(client端)
同样的代码
用WebContent\WEB-INF\client.config下的文件
替换 WebContent\WEB-INF\下的文件
然后再部署为任意的名字
例如 部署成
http://IP2:8080/s3oclient1
再然后去修改
WEB-INF\下的S3OClientContext.xml,
根据实际情况修改下面内容
<!-- 认证中心的 URL -->
<property name="serverURL" value="http://127.0.0.1:8080/s3os" />
<!-- 当前应用的 URL (一定要是 认证中心 能访问到的)-->
<property name="clientURL" value="http://127.0.0.1:8080/s3oc1" />
修改为
<property name="serverURL" value="http://IP1:8080/s3otest" />
<property name="clientURL" value="http://IP2:8080/s3oclient1" />
然后就ok了。
依次类推 再部署若干个子应用(client端)
如http://IP2:8080/s3oclient2 ,http://IP2:8080/s3oclient3...
记得修改相应的S3OClientContext.xml文件。
然后启动这些应用就可以了
然后可以从任意一个子应用登陆
例如
http://IP2:8080/s3oclient1
由于是首次访问,系统自动跳转到 登录页面
我提供的默认的验证模块很简单 只要 你的用户名和密码一样 并且长度大于等于3 就可以登陆
登陆后 你可以尝试着去访问其他的应用的页面
(需要修改一下 示例jsp文件中提供的连接 或者手动打另外一个应用的url)
评论
Arden
2007-09-17
代码看起来有点吃力,楼主能否讲解下你这个SSO实现的基本原理!
howesen
2007-09-17
楼主啊,有错误呢?
每当页面跳转时,会出现一个null
在服务认证的地址后面,像http://127.0.0.1:8080/s3osnull?……我估计是有一个地方为null的没有判断,就直接输出来了,然后就变成了这样
每当页面跳转时,会出现一个null
在服务认证的地址后面,像http://127.0.0.1:8080/s3osnull?……我估计是有一个地方为null的没有判断,就直接输出来了,然后就变成了这样
ljc666666
2007-07-30
我也刚在研究这个.非常感谢您提供的资料,但奇怪的是为什么您的代码在我的机器上跑不起来呢?
为你而来
2006-11-08
一直想做一个,但是有些地方了解不多,尝试失败后,就没有做了,今天好好研究一下呵,谢谢啦
fins
2006-11-03
补充一下哈
我把心思都用在实现 sso流程上了
代码写的很糟烂
见笑了哈
例如配制文件都是ctrl c ctrl v
代码基本没有什么结构和模式
里面的接口都形同虚设
coremodel那个类也太臃肿了
总之写这个东西就是想亲自体会一下sso的流程 没什么别的意思
在项目中使用也是暂时的
以后肯定我们公司还是要用 ibm的那个东东的
我把心思都用在实现 sso流程上了
代码写的很糟烂
见笑了哈
例如配制文件都是ctrl c ctrl v
代码基本没有什么结构和模式
里面的接口都形同虚设
coremodel那个类也太臃肿了
总之写这个东西就是想亲自体会一下sso的流程 没什么别的意思
在项目中使用也是暂时的
以后肯定我们公司还是要用 ibm的那个东东的
- 浏览: 743417 次
- 性别:

- 来自: 小胖儿的大城

- 详细资料
搜索本博客
我的相册
customHead
共 76 张
共 76 张
链接
最新评论
-
再发一篇牢骚贴: 文档又丢 ...
文档也是要入CVS的。
-- by bottom -
GT-Grid开发笔记: 这几天 ...
惊鸿逝水 写道>>关于价值,如果GT收费,那么它值多少钱呢? 10元吧 10 ...
-- by lonelyblue -
蝙蝠侠6票房过$2亿之后的 ...
强烈鄙视 剧透的人 尤其是 剧透之前 不写明"剧透 慎入"的人 这电影在我心里 ...
-- by fins -
蝙蝠侠6票房过$2亿之后的 ...
看了。。感想: --BATMAN如果不是有超强的装备,一定是JOKER笑到最后。 ...
-- by dimvar -
GT-Grid "缺陷,、bug、 ...
问题不是出在这 你等着新版本吧 一个属性搞定 :) 今天晚上发布 (前提是 ...
-- by fins






评论排行榜