通用权限系统介绍
前言
2010年为公司设计的一套新的权限系统,目前已经运用到多个大型企业项目上。共分为基础数据配置工具和权限管理两部分。
章节
- 系统架构
- 系统的特点
- 权限的主数据
- 权限资源
- 权限分配、权限系统维护工具
- 权限分配的二次开发
- 访问权限服务
系统架构
系统的特点
- 系统使用.NET平台4.0,C# 语言开发
- 采用Oracle 10g、SQL Server、SQLite数据库进行数据持久化
- 权限系统是一个可以为多个第三方系统提供权限服务的通用权限系统
- 系统通过开放式服务(webService )方式对外提供接口,供外部来访问权限对象
- 功能上支持操作权限和数据权限的授权
- 授权方式多样性,拥有多级授权和自定义授权
- 权限管理时,可通过系统配置来满足不同的需求
- 系统拥有导入、导出功能,部署方便
- 通过权限服务提供的接口,可对权限进行二次开发和功能扩展,方便的嵌入到第三方的系统中
权限的主数据
- 系统标识:是指区分使用权限服务来消费权限的各个系统的标识。
- 权限资源包括:功能定义、操作功能定义,数据权限定义。
- 角色:是权限资源的集合体。
- 用户:是权限系统的最终消费系统内的用户。
- 权限分配:是指将维护好的权限资源分配到每个账户上。
权限资源
- 功能访问权限:是指拥有菜单的权限。菜单为树形结构,可调整菜单的层级和顺序。
- 操作点权限 :是指菜单的操作点,可定义N个操作点。操作代码的定义与权限的使用者为约定关系。通过操作代码来判断是否拥有该菜单某个功能的操作权限。
- 数据可视权限:是指菜单的数据权限,菜单可定义N类数据权限。数据类别代码的定义与权限的使用者为约定关系。通过数据类别代码来获取该菜单的数据权限。
权限分配
- 权限分配:是指将维护好的权限资源 分配到每个账户上。权限可基于角色对用户进行授权,并且可以进行多级授权;同时支持对单个账户进行自定义授权。
- 权限角色:是权限系统的一个权限资源集合体。拥有角色的账户就拥有该角色的权限资源。
- 账户:是权限系统的消费对象。管理员可以创建账户和分配其他账户的权限,以此实现多级授权。
- 授权方式:通过给账户分配角色,继承角色权限,还可以自定义账户权限细节。还能通过用户权限和角色权限的复制功能,满足快速的权限分配。
权限系统维护工具
权限资源配置工具:执行安装包,安装配置工具客户端。安装好后的客户端为windows程序,采用的c/s模式。安装时可以根据用户选择来创建程序运行的快捷方式位置。修改安装后配置工具目录下的配置文件中的权限数据库连接地址来连接正确的权限数据库。运行权限资源配置工具客户端程序,登录时可选择登录到哪个系统进行权限资源的配置。 权限资源可以导入、导出,方便快速部署和移植。
权限分配的二次开发
权限管理网站,包含权限授权及管理全功能。
Silverlight开发的授权功能,MES框架集成权限服务。
权限系统是基于WebService来公开服务的,进行权限分配功能的二次开发时不限开发语言和开发平台,因此可以很好的嵌入到第三方平台内。目前基于windows平台用Json(JavaScript Object Notation)和Miscrosoft Silverlight 4.0 前端技术,分别对权限的功能进行了开发,已在项目中应用。
访问权限服务
- 通过发布的WebService服务访问。
在安装完权限系统后,可通过下面的WebService服务地址访问权限服务
http://安装权限系统的服务器IP地址/Infotech.Permission.Services/Interface/ProfileService.asmx
- 通过SDK访问权限服务。
项目添加Infotech.Permission.Client.Sl.dll, Infotech.Connector.Sl.dll的引用,即可访问权限服务,具体使用方法参考"通用权限SDK文档"。