单点登录系统:ki4so

jopen 11年前

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.代码结构有待优化。

项目目录说明

在项目代码的根目录下分别有如下文件目录,含义分别如下:

  1. docs 该目录下存放的是各种项目文档,包括架构设计、概要设计、详细设计、用户手册、和安装手册等,我们承诺本项目将成为文档最全的项目之一,方便所有人学习和使用。 子目录的说明请查看目录下的README.md文件。
  2. pom.xml。该文件是maven工程描述文件,其它的两个目录ki4so-core和ki4so-web都是两个maven工程,具体请参考描述文件说明,若不了解maven是什么,请google之。

为什么要用ki4so?

单点登录系统有很多,开源的成熟的产品也有很多,比如耶鲁大学的cas等。

  1. 无状态。系统可伸缩性好。
  2. 简单轻量级。
  3. 性能高。
  4. 安全性高。

项目主页:http://www.open-open.com/lib/view/home/1380116560742