论坛首页 Java企业应用论坛

[原创]S3O:一个简单的SSO单点认证系统(二)

浏览 12727 次
该帖已经被评为良好帖
作者 正文
   发表时间:2006-11-02  
这回把粗糙的代码 和示例发上来了,并简单说一下部署这个示例的方法
(没有传依赖的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)
   发表时间:2006-11-03  
补充一下哈

我把心思都用在实现 sso流程上了

代码写的很糟烂
见笑了哈

例如配制文件都是ctrl c ctrl v
代码基本没有什么结构和模式
里面的接口都形同虚设
coremodel那个类也太臃肿了
总之写这个东西就是想亲自体会一下sso的流程 没什么别的意思
在项目中使用也是暂时的
以后肯定我们公司还是要用 ibm的那个东东的
0 请登录后投票
   发表时间:2006-11-08  
一直想做一个,但是有些地方了解不多,尝试失败后,就没有做了,今天好好研究一下呵,谢谢啦
0 请登录后投票
   发表时间:2007-07-30  
我也刚在研究这个.非常感谢您提供的资料,但奇怪的是为什么您的代码在我的机器上跑不起来呢?
0 请登录后投票
   发表时间:2007-09-17  
楼主啊,有错误呢?
每当页面跳转时,会出现一个null
在服务认证的地址后面,像http://127.0.0.1:8080/s3osnull?……我估计是有一个地方为null的没有判断,就直接输出来了,然后就变成了这样
0 请登录后投票
   发表时间:2007-09-17  
代码看起来有点吃力,楼主能否讲解下你这个SSO实现的基本原理!
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics