基于AD域控制器的SSO(单点登录)内网系统建设

09/22 Java开源 阅读 5416 views 次 人气 5
摘要:

需求背景说明,公司目前的人员和机构信息都保存在AD(活动目录)中,机构节点为树形节点,节点下包含了人员节点,各Web系统、FTP系统、邮箱系统、文件共享系统和打印服务系统中的个别系统采用AD进行身份认证,另一些系统则是独立存在的。

针对目前公司IT系统的建设情况,需要一套SSO功能系统来集成各个应用系统,主要实现以下几点需求:

1、统一用户管理,管理员可以通过Web系统增删改查用户各项信息。同时提供部门信息和用户信息的WebService服务,让各系统能够查询和同步;要求必须使用AD存储,用户信息和企业组机构信息,不能废除。在目前AD存储的基础上开发统一认证服务,所有系统都采用这个服务来进行身份认证。

2、统一身份认证,单点登录,用户一次登录之后,访问其他系统不需要再次登录,需要支持目前公司所有C/S(包括Web系统、FTP系统、文件共享和打印服务等)、B/S架构系统的单点登录,所集成的应用系统均可以做一定程度的修改;并需要提供单点登录统一接口,含HTTP、WebService、Socket等方式的接口。

3、统一权限管理,各个系统(不同平台、不同语言)自己有基于角色的权限管理模块,需要整合集中统一管理,实现每个用户的权限设置,并下放到各系统中,FTP服务、打印服务、文件共享服务也需要纳入权限管理。 系统不少于30个,开发语言主要是java、php、c#等。部分自行开发的系统有源码,需要对系统进行整改并实现权限管理的迁移,针对无源码的系统,提供接口即可,由负责方进行修改。

4、自助权限申请,用户可以自助申请开通各项系统的权限,由部门领导审批后自动开通。


SAMC单点登录产品,与需求吻合度达到80%以上:

基于LDAP(含AD域)的统一身份认证平台是针对企(事)业单位发展现状而量身设计的一套SSO应用系统,主要实现了用户的统一管理、统一身份认证,单点登录等,在其核心功能的基础上,拓展了其他的功能,也可根据实际需求,扩展其他业务。

使用了Java的核心技术,技术架构图:

统一身份认证平台.png

SAMC统一身份认证平台,可以基于数据库存储也可以基于LDAP存储,采用了Java语言开发,实现用户、认证、授权统一管理,B/S、C/S、虚拟化桌面的单点登录。

平台整体架构图:

统一身份认证平台2.png

系统共有4种角色,分别是:账号管理员、业务管理员、配置管理员和Portal用户,如下图所示:

统一身份认证平台3.png

1、账号管理员

账号管理员,管理和维护统一身份认证平台中的用户和部门信息,授权指定的用户角色和用户访问权限,以及管理用户的认证控制和认证口令。

2、业务管理员

业务管理员,管理和维护统一身份认证平台中资源信息,每一对接的业务系统在统一身份认证平台中,都定义为资源。统计和查看用户的登录情况,审计用户的登录行为。

3、配置管理员

配置管理员,根据系统提供的配置,进行管理配置系统。

4、Portal用户

Portal用户,统一身份认证系统中具有其他业务系统登录权限的用户,可以自由单点登录权限范围内的任何应用。


其中单点登录核心模块,以数据中心平台为例的实现流程

产品地址:http://product.what21.com/sso.html

统一身份认证平台4.png

1、在客户端浏览器下,用户数据中心平台的URL地址,输入用户名密码进行认证。

2、数据中心服务器端,收到认证请求后,调用单点登录平台认证接口就行认证。

3、单点登录模块认证成功,返回认证结果到数据中心平台。

4、数据中心平台,根据单点登录认证结果数据,将票据(ticket)访问登录session中。

5、数据中心平台,返回给浏览器登录成功页面。

6、用户在数据中心平台点击“单点登录平台” 链接,浏览器请求到数据中心平台服务器端。

7、数据中心平台根据当前用户session中的票据,调用单点登录接口,生成一次性token。

8、数据中心平台根据返回的内容,生成跳转URL。

9、浏览器接收到跳转URL,跳转至单点登录平台系统上。


面对客户提出的需求,在现有的产品SAMC统一身份认证平台的基础上修改,很快可以完成,成本较低,项目周期较短。

评论

该文章不支持评论!

分享到: