单点登录应用开发与设计原理
一.
单点登录设计原理
本文以某新闻单位多媒体数据库系统为例,提出建立企业用户认证中心,实现基于安全
策略的统一用户管理、认证和单点登录,解决用户在同时使用多个应用系统时所遇到的重复
登录问题。
随着信息技术和网络技术的迅猛发展,企业内部的应用系统越来越多。比如在媒体行业,
常见的应用系统就有采编系统、排版系统、印刷系统、广告管理系统、财务系统、办公自动
化系统、决策支持系统、客户关系管理系统和网站发布系统等。由于这些系统互相独立,用
户在使用每个应用系统之前都必须按照相应的系统身份进行登录,为此用户必须记住每一个
系统的用户名和密码,这给用户带来了不少麻烦。特别是随着系统的增多,出错的可能性就
会增加,受到非法截获和破坏的可能性也会增大,安全性就会相应降低。针对于这种情况,
统一用户认证、单点登录等概念应运而生,同时不断地被应用到企业应用系统中。
统一用户管理的基本原理
一般来说,每个应用系统都拥有独立的用户信息管理功能,用户信息的格式、命名与存
储方式也多种多样。当用户需要使用多个应用系统时就会带来用户信息同步问题。用户信息
同步会增加系统的复杂性,增加管理的成本。
例如,用户 X 需要同时使用 A 系统与 B 系统,就必须在 A 系统与 B 系统中都创建用户 X,
这样在 A、B 任一系统中用户 X 的信息更改后就必须同步至另一系统。如果用户 X 需要同
时使用 10 个应用系统,用户信息在任何一个系统中做出更改后就必须同步至其他 9 个系统。
用户同步时如果系统出现意外,还要保证数据的完整性,因而同步用户的程序可能会非常复
杂。
解决用户同步问题的根本办法是建立统一用户管理系统(UUMS)。UUMS 统一存储所
有应用系统的用户信息,应用系统对用户的相关操作全部通过 UUMS 完成,而授权等操作
则由各应用系统完成,即统一存储、分布授权。UUMS 应具备以下基本功能:
1.用户信息规范命名、统一存储,用户 ID 全局惟一。用户 ID 犹如身份证,区分和标识了
不同的个体。
2.UUMS 向各应用系统提供用户属性列表,如姓名、电话、地址、邮件等属性,各应用系
统可以选择本系统所需要的部分或全部属性。
3.应用系统对用户基本信息的增加、修改、删除和查询等请求由 UUMS 处理。
4.应用系统保留用户管理功能,如用户分组、用户授权等功能。
5.UUMS 应具有完善的日志功能,详细记录各应用系统对 UUMS 的操作。
统一用户认证是以 UUMS 为基础,对所有应用系统提供统一的认证方式和认证策略,以识
别用户身份的合法性。统一用户认证应支持以下几种认证方式:
1. 匿名认证方式: 用户不需要任何认证,可以匿名的方式登录系统。
2. 用户名/密码认证: 这是最基本的认证方式。
3. PKI/CA 数字证书认证: 通过数字证书的方式认证用户的身份。
4. IP 地址认证: 用户只能从指定的 IP 地址或者 IP 地址段访问系统。
5. 时间段认证: 用户只能在某个指定的时间段访问系统。
6. 访问次数认证: 累计用户的访问次数,使用户的访问次数在一定的数值范围之内。
以上认证方式应采用模块化设计,管理员可灵活地进行装载和卸载,同时还可按照用户的要