`

[原创]S3O:一个简单的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)
分享到:
评论
7 楼 Arden 2007-09-17  
代码看起来有点吃力,楼主能否讲解下你这个SSO实现的基本原理!
6 楼 howesen 2007-09-17  
楼主啊,有错误呢?
每当页面跳转时,会出现一个null
在服务认证的地址后面,像http://127.0.0.1:8080/s3osnull?……我估计是有一个地方为null的没有判断,就直接输出来了,然后就变成了这样
5 楼 ljc666666 2007-07-30  
我也刚在研究这个.非常感谢您提供的资料,但奇怪的是为什么您的代码在我的机器上跑不起来呢?
4 楼 yhw8215195 2007-05-20  
怎么部署啊,我部署有错误啊
3 楼 balaschen 2006-12-21  
下载回去研究一下,回头再来讨论,thanks
2 楼 为你而来 2006-11-08  
一直想做一个,但是有些地方了解不多,尝试失败后,就没有做了,今天好好研究一下呵,谢谢啦
1 楼 fins 2006-11-03  
补充一下哈

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

代码写的很糟烂
见笑了哈

例如配制文件都是ctrl c ctrl v
代码基本没有什么结构和模式
里面的接口都形同虚设
coremodel那个类也太臃肿了
总之写这个东西就是想亲自体会一下sso的流程 没什么别的意思
在项目中使用也是暂时的
以后肯定我们公司还是要用 ibm的那个东东的

相关推荐

    MINIO服务器基于AWS S3 SDK 文件上传及下载(C++实现类)

    MINIO服务器是一款开源的对象存储系统,它模仿了亚马逊的S3云存储服务。在这个场景中,我们将探讨如何使用AWS S3 SDK(Software Development Kit)在C++中实现对MINIO服务器上的文件进行上传和下载。AWS S3 SDK为...

    spark/hadoop读取s3所需要的外部依赖包

    例如,`spark.read.format("csv").load("s3a://bucket-name/path/to/file.csv")`会读取S3上的CSV文件到一个Spark DataFrame。 6. **Hadoop读取S3**: 在Hadoop MapReduce或HDFS操作中,可以使用`FileSystem`类的`...

    S3 Explorer: Windows 上 S3 管理工具

    Windows 上好用的 S3 管理工具 - 支持连接 AmasonS3, Aliyun OSS, MINIO 等 - S3 文件上传下载 - 大文件分块上传,分块下载 - 占用空间仅 5MB - 不吃内存,不卡磁盘 - 类似 S3 Browser 的纯国产工具

    S3C44B0公板 最小系统

    6. **存储配置**:S3C44B0通常需要一个Nor Flash来存储引导加载程序和操作系统,以及SDRAM来运行程序和存储数据。这些需要根据实际应用需求进行选择和配置。 7. **调试接口**:为了进行软件开发和故障排查,S3C44B0...

    AWS_S3 linux C++存储 动态库

    在这个例子中,我们创建了一个`S3Client`实例,设置了上传请求,包括桶名、对象键和本地文件,然后调用`PutObject`方法来执行实际的上传操作。如果操作成功,控制台会显示“File uploaded successfully.”;如果出现...

    s3cp:Amazon S3命令行工具(例如cp,ls,cat等)

    只需几个简单的命令行实用程序即可列出,复制和查看S3文件,例如s3cp , s3ls , s3cat , s3rm等。 正在安装 确保在系统上安装了Rubygems,然后运行: # gem install s3cp 例子 export AWS_ACCESS_KEY_ID=... ...

    IBM的智能视频监控系统S3

    综上所述,IBM S3智能监控系统不仅是一个创新的技术成果,也是观察型系统领域的重要里程碑。它通过将传统的交易型系统转变为更高级别的观察型系统,为用户提供了一个全新的视角来看待和管理各种场景。无论是在安全性...

    iOS-S3Connection:一个简单的连接类,用于将文件上传到Amazon S3

    S3Connection是一个简单的连接类,用于将文件和数据上传到Amazon S3存储桶。 S3连接参考 完成处理程序 typedef void (^S3CompletionHandler)(NSError *) 上传成功完成或失败后,将调用完成处理程序。 NSError将在...

    s3backer:通过 Amazon S3 基于 FUSE 的单个文件后备存储

    s3backer是一个文件系统,其中包含由 (Amazon S3) 支持的单个文件。 作为一个文件系统,它非常简单:它提供了一个固定大小的普通文件。 在下面,文件被分成块,每个块的内容存储在一个唯一的 Amazon S3 对象中。 ...

    ARM9_S3C2440最小系统

    总结来说,ARM9_S3C2440最小系统是一个集成了ARM920T内核的嵌入式硬件平台,通过合理的硬件设计和软件开发,可以构建各种嵌入式应用,如工业控制、智能家居、移动设备等。提供的文档"ARM9_S3C2440最小系统.doc"应...

    s3fs:s3fs-基于高山

    总结来说,s3fs是一个方便开发人员和系统管理员在Linux环境中利用Amazon S3的工具,通过提供一个熟悉的文件系统接口,简化了云存储的使用。它通过FUSE实现用户空间的文件系统,降低了操作复杂性,但也需要注意其性能...

    GitToS3:将文件部署到s3

    GitToS3 将文件部署到s3。注意: 如果文件名包含utf-8字符,请添加quotepath = false 到您的项目/.git/config 在[核心]部分要求: s3用法: 设置config.json(请参阅config.json.example)deploy.rb -v详细--dryrun ...

    s3img:s3img 是一个 Amazon S3 图像处理和上传工具

    s3img - Amazon S3 图像处理和上传工具目的s3img是一个基于 Node.JS 的 CLI 工具。 其最初目的是使用 ImageMagick 转换和处理图像并将这些图像上传到 Amazon S3。 这背后的意图是为在线商店系统提供不同的图像结果...

    S3C2440系统时钟详解

    S3C2440系统时钟详解 S3C2440系统时钟是 ARM920T 内核的核心组件之一,对整个系统的稳定运行至关重要。...S3C2440 的时钟系统是一个复杂的系统,需要对时钟频率、PLL、寄存器和总线模式等有深入的了解和理解。

    docker-nginx-s3proxy:基于 nginx 的 s3 代理 - docker

    基于 nginx 的 s3 代理 - docker 从 S3 为您的静态主页提供服务,同时通过在 docker 中运行的 nginx 代理来保持存储桶的私密性。 用法 克隆这个 repo: git clone --recursive ...

    基于s3c4510b的系统设计

    在本文中,我们将深入探讨基于S3C4510B的系统设计,以及与之相关的ARM指令和ARM系统设计的基础知识。S3C4510B是Samsung公司推出的一款基于ARM7TDMI内核的微处理器,广泛应用于嵌入式系统设计中。 首先,我们来了解...

    s3cmd:公开s3cmd实用程序

    S3cmd 此操作是的简单包装。 目前仅在linode上进行过测试。 尽管它与所有环境息息相关,但这仅仅是设置正确的标签的问题。 输入项 cluster 不需要桶所在的群集。默认为"ap-south-1" 。 acces_key 必需桶访问密钥...

    s3fs:S3 FileSystem(fs.FS)的实现

    s3fs 软件包s3fs为Go1.16接口提供了S3实现。 由于S3是平面结构,因此s3fs通过使用前缀和“ /” delim来模拟目录。 目录上的ModTime始终为零值。 该实现将包装为s3客户端。 const bucket = "my-bucket"s , err := ...

    python_s3:校友

    Python_s3 是一个关于使用 Python 与 Amazon S3 进行交互的项目。S3,全称 Simple Storage Service,是亚马逊提供的一种云存储服务,它允许用户存储和检索大量数据,并具有高可用性和持久性。Python 作为一种广泛...

Global site tag (gtag.js) - Google Analytics