通用权限系统介绍

前言

2010年为公司设计的一套新的权限系统,目前已经运用到多个大型企业项目上。共分为基础数据配置工具和权限管理两部分。 前端

章节

  • 系统架构
  • 系统的特色
  • 权限的主数据
  • 权限资源
  • 权限分配、权限系统维护工具
  • 权限分配的二次开发
  • 访问权限服务

系统架构

系统的特色

  • 系统使用.NET平台4.0,C# 语言开发
  • 采用Oracle 10g、SQL Server、SQLite数据库进行数据持久化
  • 权限系统是一个能够为多个第三方系统提供权限服务的通用权限系统
  • 系统经过开放式服务(webService )方式对外提供接口,供外部来访问权限对象
  • 功能上支持操做权限和数据权限的受权
  • 受权方式多样性,拥有多级受权和自定义受权
  • 权限管理时,可经过系统配置来知足不一样的需求
  • 系统拥有导入、导出功能,部署方便
  • 经过权限服务提供的接口,可对权限进行二次开发和功能扩展,方便的嵌入到第三方的系统中

权限的主数据

  1. 系统标识:是指区分使用权限服务来消费权限的各个系统的标识。
  2. 权限资源包括:功能定义、操做功能定义,数据权限定义。
  3. 角色:是权限资源的集合体。
  4. 用户:是权限系统的最终消费系统内的用户。
  5. 权限分配:是指将维护好的权限资源分配到每一个帐户上。

权限资源

  1. 功能访问权限:是指拥有菜单的权限。菜单为树形结构,可调整菜单的层级和顺序。
  2. 操做点权限 :是指菜单的操做点,可定义N个操做点。操做代码的定义与权限的使用者为约定关系。经过操做代码来判断是否拥有该菜单某个功能的操做权限。
  3. 数据可视权限:是指菜单的数据权限,菜单可定义N类数据权限。数据类别代码的定义与权限的使用者为约定关系。经过数据类别代码来获取该菜单的数据权限。

权限分配

  1. 权限分配:是指将维护好的权限资源 分配到每一个帐户上。权限可基于角色对用户进行受权,而且能够进行多级受权;同时支持对单个帐户进行自定义受权。
  2. 权限角色:是权限系统的一个权限资源集合体。拥有角色的帐户就拥有该角色的权限资源。
  3. 帐户:是权限系统的消费对象。管理员能够建立帐户和分配其余帐户的权限,以此实现多级受权。
  4. 受权方式:经过给帐户分配角色,继承角色权限,还能够自定义帐户权限细节。还能经过用户权限和角色权限的复制功能,知足快速的权限分配。

权限系统维护工具

权限资源配置工具:执行安装包,安装配置工具客户端。安装好后的客户端为windows程序,采用的c/s模式。安装时能够根据用户选择来建立程序运行的快捷方式位置。修改安装后配置工具目录下的配置文件中的权限数据库链接地址来链接正确的权限数据库。运行权限资源配置工具客户端程序,登陆时可选择登陆到哪一个系统进行权限资源的配置。 权限资源能够导入、导出,方便快速部署和移植。 web

权限分配的二次开发

权限管理网站,包含权限受权及管理全功能。 数据库

Silverlight开发的受权功能,MES框架集成权限服务。 windows

权限系统是基于WebService来公开服务的,进行权限分配功能的二次开发时不限开发语言和开发平台,所以能够很好的嵌入到第三方平台内。目前基于windows平台用Json(JavaScript Object Notation)和Miscrosoft Silverlight 4.0 前端技术,分别对权限的功能进行了开发,已在项目中应用。 服务器

访问权限服务

  1. 经过发布的WebService服务访问。

    在安装完权限系统后,可经过下面的WebService服务地址访问权限服务 架构

    http://安装权限系统的服务器IP地址/Infotech.Permission.Services/Interface/ProfileService.asmx 框架

  2. 经过SDK访问权限服务。

    项目添加Infotech.Permission.Client.Sl.dll, Infotech.Connector.Sl.dll的引用,便可访问权限服务,具体使用方法参考"通用权限SDK文档"。 工具