Menu
标准化用户统一认证平台(SSO)解决方案

一、项目总体需求

1-1.需求背景

     随着信息技术和网络技术的迅猛发展,企业内部的应用系统越来越多。比如在媒体行业,常见的应用系统就有采编系统、排版系统、印刷系统、广告管理系统、财务系统、办公自动化系统、决策支持系统、客户关系管理系统和网站发布系统等。由于这些系统互相独立,用户在使用每个应用系统之前都必须按照相应的系统身份进行登录,为此用户必须记住每一个系统的用户名和密码,这给用户带来了不少麻烦。特别是随着系统的增多,出错的可能性就会增加,受到非法截获和破坏的可能性也会增大,安全性就会相应降低。针对于这种情况,统一用户认证、单点登录等概念应运而生,同时不断地被应用到企业应用系统中

1-2.开发目的

  • 增加系统安全性
     通过登录时账号的多重验证方式(用户密码,UKEY验证)提供用户身份认证的复杂度从而提供认证系统以及子系统安全性
  • 标准化子系统接入方式降低接入成本
       用户认证平台SSO-CENTER 为子系统提供标准的SSO认证接口,认证服务使用LDAP协议,服务器端实现使用openLDAP+CAS,客户端使用PHPLDAPAdmin,使得用户接入方式标准化从而降低接入成本  

1-3.系统技术解决方案

  • 总体说明
本系统后台数据库采My SQL 数据库存储用户数据。其体积小、速度快、可以处理拥有上千万条记录; 功能层采用JAVA语言作为主要的开发工具, 采用以下技术:
  1. 表示层:HTML、Java语言
  2. 功能层: JAVA语言
  3. 数据层: My SQL。
  4. 插件开发:插件使用C++语言实现
系统开发工具的选择: My SQL 作为系统服务器端数据库、Web 服务器采用tomcat7。
系统硬件资源配置主要是: 高性能的服务器两台(系统数据库服务器、系统的Web 服务器)、基本网络设备、畅通的网络环境以及打印机等设备。

  • 系统运行环境:服务器端Linux+tomcat+java+Mysql系统生产环境:NetBeans IDE 8.0.1+WAMP+Windows;
  • 开发语言与框架:java+Mysql+Html+Javascript;
  • 辅助设计工具:应用Visio、Balsamiq Mockups等工具进行辅助设计;
  • 系统网络架构:平台使用B/S架构,技术架构如下图(1-1)所示。

  • 协议与技术框架:
      SSO认证协议:CAS+Auth2.0
      业务层架构:shiro+springmvc+mybatis+spring

二、系统功能设计架构图

 
三、系统业务流程设计
  • 用户单点登录流程图

 
  
  • Auth2.0第三方账号登录流程
  • 子系统验证流程

四、平台功能设计概要

4-1用户管理系统

4-1-1用户信息管理

  • 添加用户:添加,修改用户基本信息,包括用户姓名,邮箱,手机号码,设置用户登录名和密码。
  • 用户信息查看:根据用户名或登录时间查询用户列表,并显示用户信息。

4-1-2用户审计

统计用户登录日志,设置用户登录状态(冻结账户,解冻账户)

4-1-2用户组及权限管理

  • 系统权限机制:系统权限模块使用自定义用户角色机制;
  • 自定义用户角色 :管理员可创建用户角色组,并设置角色组名称,查看角色组所有用户;
  • 自定义权限:针对不同的角色组设置不同的权限;
  • 自定义用户:创建用户账户并加入到不同的角色组(用户权限设置)。
  • 操作流程简述:创建角色-à选择功能模块—>添加管理员-à将管理员添加到该角色(管理员获得该角色权限)、编辑角色权限后对应管理员权限相应改变(需注销登录)。
 

4-2身份认证系统

4-2-1子系统管理

添加(注册)修改认证子系统信息,按子系统名称查找显示子系统信息

4-2-2身份认证接口

平台提供标准化统一的身份认证接口,供子系统认证用户身份时使用,通讯协议使用LDAP标准协议,认证成功后返回用户信息

4-3安全系统

4-3-1动态密码系统

按规则生成动态密码,以电子邮件(须提供smtp服务器接口)或短信方式(短信发送接口)发送给用户,登录时验证动态密码(若系统设置开启动态密码验证登录)

4-3-2安全证书模块

  • 安全证书管理:生成安全证书VIN(证书标识)并写入UKEY中,完成VIN与用户绑定,设置证书登录有限期,设置登录是否有效状态,修改并重新写入UKEY。
  • UKEY插件:使用C++语言开发浏览器插件(支持IE内核),用户运行登录界面时提示用户下载并按照该插件,插件安装后,用户插入UKEY硬件实现自动读取其内容,用户登录时将读取到的内容提交至服务进行验证(若系统设置中开启证书等验证)
  • 第三方登录:系统支持客户使用第三方账号登录(微信,QQ,微博),后台支持对第三方账号管理(修改是否开启,修改接口地址,修改认证秘钥),不支持动态添加

4-4系统设置

4-4-1通讯接口设置

添加修改短信、电子邮件发送API相关信息

4-4-2登录设置

设置用户登录验证方式,验证方式为(用户名密码登录,动态密码登录,安全证书登录),登录方式组合如下表所示
用户名密码验证
用户名密码验证+动态密码验证
用户名密码验证+动态密码验证+安全证书验证

 
标准化用户统一认证平台设计方案,点击下载
标准化用户统一认证平台设计方案