多域访问控制系统(MDAC, Multi-Domain Access Control System)

一、 系统简介
MDAC系统是一款适用于Java Web网络应用的多域权限管理服务产品,可将其部署在支持J2EE应用的网络分布式环境下,通过授权管理系统维护权限、角色、用户以及不同系统之间角色、用户的相互关联等,实现统一的授权管理,同时实现查询用户权限以及各业务系统之间的安全互访和权限的查询;通过将设置好的访问控制策略部署实现在局域网中同一台服务器或互联网中不同服务器上,可为不同网络应用提供多个网站或网络应用的集中授权访问控制服务,实现跨域操作的基于角色访问模型。系统特性如下:

  1. 基于RBAC访问控制模型开发,支持基于角色的访问控制策略
  2. 主流Saas实现,提供独立的、可租用的第三方的权限控制管理平台服务
  3. 适用于分布式多域应用环境
  4. 基于IRBAC模型提供多域互操作角色映射机制,动态建立角色关联
  5. 支持CAS单点登录认证方式
  6. 采用先进的Java EE 5服务器Glassfish提供企业级Java应用服务体验

二、 系统设计概要
整套系统由两个子系统构成:授权管理服务(授权策略配置平台)子系统和授权实现(授权服务实施平台)子系统,项目的总体框架如图所示。

授权服务实施平台由提供拦截服务的授权代理客户端和提供全局授权服务决策服务器的服务端组成,全局设计如图所示。

三、 采用技术及系统配置要求
1. 开发环境及采用技术
权限管理系统的开发环境如下:
IDE: Netbeans 5.5
应用服务器:GlassFish v1
访问控制数据库:MySQL 5.0
应用程序框架:JSF1.2
可视化网络开发包:Visual Web Pack
授权服务实现系统的开发环境如下:
IDE: Eclipse 3.2.2+MyEclipse 5.5
2. 系统运行环境:
应用服务器:Tomcat 5.0.30
访问控制数据库:MySQL 5.0
CAS服务器:Tomcat 5.0.30
CAS服务端:cas server 3.0.7
CAS客户端:cas client 2.1.1

四、功能介绍
1. 授权服务管理平台
授权服务管理系统设计为4个模块,包括用户管理、角色管理、权限管理和多域管理,各模块涉及的功能和接口如下:

  1. 用户管理
  2. 用户管理实现基本的用户创建、修改和删除功能,并且提供用户角色指派子模块,为用户角色的指派和撤销提供接口。为简化原型系统的实现,角色的回收仅对用户当前所显式指派角色进行,不考虑强弱回收的实现。同时,当管理员点击用户列表中某一个用户的“概览”按扭时,为管理员显示用户所有可激活的角色及相应的权限,包括用户直接指派,直接继承,关联获得以及关联继承的所有角色及权限信息。从而使用户可以了解到自己在一次会话中在不同域中所能激活的所有角色和相应权限。
    除此之外,用户模块预留出用户-权限请求决策接口,用于让管理员输入用户ID和请求的服务后,判断该请求是否在当前授权配置下得到授权,可做为对授权策略算法的扩展。用户管理的各功能模块如图所示。

    用户管理界面

    角色指派界面

  3. 角色管理
  4. 角色管理实现基本的角色创建、修改和删除功能,并且提供角色授权子模块,为角色权限的授予和回收提供接口。为简化原型系统的实现,权限的回收仅对当前所显式授予的角色进行,不考虑强弱回收的实现。同时,当管理员点击用户列表中某一个角色的“概览”按扭时,为管理员显示用户所有其直接或间接被指派给的用户及角色拥有的所有权限,包括角色直接授予,直接继承,关联获得以及关联传递继承的所有权限和用户信息。从而了解到某个角色在其他域中的指派信息和授权信息。角色管理的各功能模块如图。

  5. 权限管理
  6. 权限管理实现基本的权限创建、修改和删除功能,并且提供对象管理子模块,为对象的定义和维护提供接口。当管理员单击某一权限的“概览”按钮时,系统将显示所有直接或间接被授予该权限的用户和角色以及它们所属的域信息。这些用户或角色可能通过继承,多域角色关联和关联传递的方式拥有此权限,授权类型也将被显示出来,方便管理员了解拥有特定权限的所有用户信息。权限管理的各功能模块如图。

    权限管理界面

  7. 多域管理
  8. 多域管理实现基本的自治域创建、修改和删除功能,同时提供域间角色关联服务接口,为管理员提供可视化的角色关联管理模块。管理员能够统一管理各个域之间的角色关联设置,动态建立、修改和删除角色关联。同时,当管理员单击某一个域的“概览”按钮时,系统将显示该域内的全局该问控制策略,包括域中包含的所有用户,定义的所有角色,设置的所有权限以及相关的角色指派和授权信息。借此,管理员能够方便地掌握每个域的RBAC基本设置情况,作为管理各个域和域间角色关联的参考。域间角色关联的删除算法不考虑级联和完整性的情况。多域管理的各功能模块如图。

    多域管理-1

    多域管理-2

    CAS单点登录界面

    授权服务实施界面

    域间应用互操作界面