ki4so单点登录系统
ki4so是一个简约、无状态、易扩展、易伸缩的适合于大型互联网web应用场景的单点登录系统,它功能简单,只实现了统一登录和登出,它最大的特色是将用户状态写入到cookie中,最大程度减少了单点登录服务端的状态,服务端只需要存储公共的应用密钥,将用户凭证的认证分散到各应用服务中,最大程度减轻了ki4so服务器的压力。
名称由来
ki4so,英文全称是:kiss sso意思是简约单点登录系统,由于s太多,名字看起来比较繁琐,我们缩写为4s,跟汽车的4s店一样,我们会为使用ki4so的用户提供全方位、细心周到的4s服务,我们会用自己最真诚的心态来对待该项目,努力打造一个对用户有价值,用户体验很好,技术支持及服务用心的技术产品。
项目由来
我们所在的公司内部一直在使用耶鲁大学的CAS作为自己的单点登录系统,在功能上能够满足自己的需求,但是觉得它太重量级,有状态,不太适合于互联网应用,因此2013年5月我们打算开发一个更加轻量级、简单、适合互联网应用的开源sso系统,因此本项目诞生了。
产品状态
目前ki4so处于1.0.0-SNAPSHOT的开发期,目前还没有可以发布正式可以用的版本。目前产品完成的需求如下: a.完成统一登录。
b.完成统一登出。目前统一登出是在客户端实现,使用jsonp实现,原生的javascript,不依赖任何lib包。集成非常简单。
c.客户端目前只完成了java原生应用客户端,其它语言暂时未开发。
d.单元测试正在持续补充中,引入了代码覆盖率检查工具,依据覆盖率进行代码测试。性能优化是下一步要做的事情。
e.代码结构有待优化。
项目目录说明
在项目代码的根目录下分别有如下文件目录,含义分别如下:
- docs 该目录下存放的是各种项目文档,包括架构设计、概要设计、详细设计、用户手册、和安装手册等,我们承诺本项目将成为文档最全的项目之一,方便所有人学习和使用。 子目录的说明请查看目录下的README.md文件。
- pom.xml。该文件是maven工程描述文件,其它的两个目录ki4so-core和ki4so-web都是两个maven工程,具体请参考描述文件说明,若不了解maven是什么,请google之。
为什么要用ki4so?
单点登录系统有很多,开源的成熟的产品也有很多,比如耶鲁大学的cas等。
- 无状态。系统可伸缩性好。
- 简单轻量级。
- 性能高。
- 安全性高。
评论