当前位置:文档之家› 用户权限管理设计方案

用户权限管理设计方案

用户权限管理设计方案
用户权限管理设计方案

用户权限管理设计方案

用户认证管理设计方案

1 设计思路

为了设计一套具有较强可扩展性的用户认证管理,需要建立用户、角色和权限等数据库表,并且建立之间的关系,具体实现如下。

1.1 用户

用户仅仅是纯粹的用户,用来记录用户相关信息,如用户名、密码等,权限是被分离出去了的。用户(User)要拥有对某种资源的权限,必须通过角色(Role)去关联。

用户通常具有以下属性:

编号,在系统中唯一。

名称,在系统中唯一。

用户口令。

注释,描述用户或角色的信息。

1.2 角色

角色是使用权限的基本单位,拥有一定数量的权限,通过角色赋予用户权限,通常具有以下属性:

编号,在系统中唯一。

名称,在系统中唯一。

注释,描述角色信息

1.3 权限

权限指用户根据角色获得对程序某些功能的操作,例如对文件的读、写、修改和删除功能,通常具有以下属性:

编号,在系统中唯一。

名称,在系统中唯一。

注释,描述权限信息

1.4 用户与角色的关系

一个用户(User)可以隶属于多个角色(Role),一个角色组也可拥有多个用户,用户角色就是用来描述他们之间隶属关系的对象。用户(User)通过角色(Role)关联所拥有对某种资源的权限,例如

用户(User):

UserID UserName UserPwd

1 张三xxxxxx

2 李四xxxxxx

……

角色(Role):

RoleID RoleName RoleNote

01 系统管理员监控系统维护管理员

02 监控人员在线监控人员

03 调度人员调度工作人员

04 一般工作人员工作人员

……

用户角色(User_Role):

UserRoleID UserID RoleID UserRoleNote

1 1 01 用户“张三”被分配到角色

“系统管理员”

2 2 02 用户“李四”被分配到角

色“监控人员”

3 2 03 用户“李四”被分配到角

色“调度人员”

……

从该关系表可以看出,用户所拥有的特定资源可以通过用户角色来关联。

1.5 权限与角色的关系

一个角色(Role)可以拥有多个权限(Permission),同样一个权限可分配给多个角色。例如:

角色(Role):

RoleID RoleName RoleNote

01 系统管理员监控系统维护管理员

02 监控人员在线监控人员

03 调度人员调度工作人员

04 一般工作人员工作人员

……

权限(Permission):

PermissionID PermissionName PermissionNote

0001 增加监控允许增加监控对象

0002 修改监控允许修改监控对象

0003 删除监控允许删除监控对象

0004 察看监控信息允许察看监控对象

……

角色权限(Role_Permission):

RolePermissionID RoleID PermissionID RolePermissionNote

1 01 0001 角色“系统管理员”具有权限“增加监控”

2 01 0002 角色“系统管理员”具有权限“修改监控”

3 01 0003 角色“系统管理员”具有权限“删除监控”

4 01 0004 角色“系统管理员”具有权限“察看监控”

5 02 0001 角色“监控人员”具有权限“增加监控”

6 02 0004 角色“监控人员”具有权限“察看监控”

……

由以上例子中的角色权限关系可以看出,角色权限可以建立角色和权限之间的对应关系。

1.6 建立用户权限

用户权限系统的核心由以下三部分构成:创造权限、分配权限和使用权限。

第一步由Creator创造权限(Permission),Creator在设计和实现系统时

会划分。利用存储过程CreatePermissionInfo

(@PermissionName,@PermissionNote)创建权限信息,指定系统模块具有哪些权限。

第二步由系统管理员(Administrator)创建用户和角色,并且指定用户角色(User-Role)和角色权限(Role-Permission)的关联关系。

1)Administrator具有创建用户、修改用户和删除用户的功能:

存储过程CreateUserInfo(@UserName,@UserPwd)创建用户信息;

存储过程ModifyUserInfo(@UserName,@UserPwd)修改用户信息;

存储过程DeleteUserInfo(@UserID)删除用户信息;

2)Administrator具有创建角色和删除角色的功能:

存储过程CreateRoleInfo(@RoleName,@RoleNote)创建角色信息;

存储过程DeleteRoleInfo(@RoleID)删除角色信息;

3)Administrator具有建立用户和角色、角色和权限的关联关系功能:存储过程GrantUserRole(@UserID,@RoleID,@UserRoleNote)建立用户和角色的关联关系;

存储过程DeleteUserRole(@UserRoleID)删除用户和角色的关联关系;

存储过程

GrantRolePermission(@RoleID,@PermissionID,@RolePermissionNote)建

立角色和权限的关联关系;

存储过程DeleteRolePermission(@RolePermissionID)删除角色和权限的关联关系;

第三步用户(User)使用Administrator分配给的权限去使用各个系统模块。利用存储过程GetUserRole(@UserID, @UserRoleID

output),GetRolePermission(@RoleID,@Role-

-PermissinID output)获得用户对模块的使用权限。

1.7 用户认证实现

当用户通过验证后,由系统自动生成一个128位的TicketID保存到用户数据库表中,建立存储过程Login(@UserID,@UserPwd,@TicketID output)进行用户认证,认证通过得到一个TicketID,否则TicketID为null。其流程图如下:

的公共字段声明为该类型。这在服务的公共合同中公开,并且当从WebServiceUtil.exe 创建代理时可由客户端使用,如下例所示:

using System.Web.Services;

using System.Web.Services.Protocols;

// AuthHeader class extends from SoapHeader

public class AuthHeader : SoapHeader {

public string Username;

public string Password;

}

public class HeaderService : WebService {

public AuthHeader sHeader;

...

}

服务中的每个WebMethod 都可以使用SoapHeader 自定义属性定义一组关联的标头。默认情况下,标头是必需的,但也可以定义可选标头。SoapHeader 属性指定公共字段的名称或者Client 或Server 类的属性(本标题中称为Headers 属性)。在为输入标头调用方法前,WebService 设置Headers 属性的值;而当方法为输出标头返回时,WebService 检索该值。

[WebMethod(Description="This method requires a custom soap header set by the caller")]

[SoapHeader("sHeader")]

public string SecureMethod() {

if (sHeader == null)

return "ERROR: Please supply credentials";

else

return "USER: " + https://www.doczj.com/doc/f26079163.html,ername;

}

然后,客户端在调用要求标头的方法之前,直接在代理类上设置标头,如下面的示例所示:

HeaderService h = new HeaderService();

AuthHeader myHeader = new AuthHeader();

https://www.doczj.com/doc/f26079163.html,ername = "username";

myHeader.Password = "password";

h.AuthHeader = myHeader;

String result = h.SecureMethod();

3.2 .Net Remoting的安全认证方式

CallContext提供与执行代码路径一起传送的属性集,CallContext是类似于方法调用的线程本地存储的专用集合对象,并提供对每个逻辑执行线程都唯一的数据槽。数据槽不在其他逻辑线程上的调用上下文之间共享。当CallContext 沿执行代码路径往返传播并且由该路径中的各个对象检查时,可将对象添加到其中。当对另一个AppDomain 中的对象进行远程方法调用时,CallContext 类将生成一个与该远程调用一起传播的LogicalCallContext 实例。只有公开ILogicalThreadAffinative 接口并存储在CallContext 中的对象被在LogicalCallContext 中传播到AppDomain 外部。不支持此接口的对象不在LogicalCallContext 实例中与远程方法调用一起传输。

CallContext.SetData方法存储给定对象并将其与指定名称关联,CallContext.GetData方法从CallContext 中检索具有指定名称的对象。

下面的代码示例说明如何使用SetData 方法将主体和标识对象传输到

远程位置以进行标识。

public class ClientClass {

public static void Main() {

GenericIdentity ident = new GenericIdentity("Bob");

GenericPrincipal prpal = new GenericPrincipal(ident,

Newstring[] {"Level1"});

LogicalCallContextData data =

new LogicalCallContextData(prpal);

//Enter data into the CallContext

CallContext.SetData("test data", data);

Console.WriteLine(data.numOfAccesses);

ChannelServices.RegisterChannel(new TcpChannel());

RemotingConfiguration.RegisterActivatedClientType(

typeof(HelloServiceClass), "tcp://localhost:8082");

HelloServiceClass service = new HelloServiceClass();

if(service == null) {

Console.WriteLine("Could not locate server.");

return;

}

// call remote method

Console.WriteLine();

Console.WriteLine("Calling remote object");

Console.WriteLine(service.HelloMethod("Caveman"));

Console.WriteLine(service.HelloMethod("Spaceman"));

Console.WriteLine(service.HelloMethod("Bob"));

Console.WriteLine("Finished remote object call");

Console.WriteLine();

//Extract the returned data from the call context

LogicalCallContextData returnedData =

(LogicalCallContextData)CallContext.GetData("test data");

Console.WriteLine(data.numOfAccesses);

Console.WriteLine(returnedData.numOfAccesses);

}

}

下面的代码示例说明如何使用GetData 方法将主体和标识对象传输到远程位置以进行标识。

using System;

using System.Text;

using System.Runtime.Remoting.Messaging;

using System.Security.Principal;

public class HelloServiceClass : MarshalByRefObject {

static int n_instances;

int instanceNum;

public HelloServiceClass() {

n_instances++;

instanceNum = n_instances;

Console.WriteLine(this.GetType().Name + " has been created.

Instance # = {0}", instanceNum);

}

~HelloServiceClass() {

Console.WriteLine("Destroyed instance {0} of

HelloServiceClass.", instanceNum);

}

public String HelloMethod(String name) {

//Extract the call context data

LogicalCallContextData data =

(LogicalCallContextData)CallContext.GetData("test data");

IPrincipal myPrincipal = data.Principal;

//Check the user identity

if(https://www.doczj.com/doc/f26079163.html, == "Bob") {

Console.WriteLine("\nHello {0}, you are identified!",

https://www.doczj.com/doc/f26079163.html,);

Console.WriteLine(data.numOfAccesses);

}

else {

Console.WriteLine("Go away! You are not identified!");

return String.Empty;

}

// calculate and return result to client

return "Hi there " + name + ".";

}

}

4 详细代码设计

4.1 WebService代码设计

WebService端代码主要进行对数据库的操作,建立起Client操作数据库所需要的方法,供Client的端调用。

1)class UserInfoMng() 用户信息管理类,其中包括方法:

CreateUserInfo(string UserName string UserPwd) 建立用户信息,调用存储过程CreateUserInfo(@UserName,@UserPwd)

ModifyUserInfo(string UserName string UserPwd) 修改用户信息,调用存储过程ModifyUserInfo(@UserName,@UserPwd)DeleteUserInfo() 删除用户信息,调用存储过程

DeleteUserInfo

(@UserID)

2)class UserAuthentication() 用户认证类,用来实现用户角色、权限的设置,包括方法:

CreatePermissionInfo(string PermissionName string Permissi--onNote) 建立权限信息,调用存储过程CreatePermissionInfo

(@PermissionName,@PermissionNote)

CreateRoleInfo(string RoleName string RoleNote) 建立角

色信息,调用存储过程CreateRoleInfo(@RoleName,@RoleNote)

DeleteRoleInfo() 删除角色信息,调用存储过程

DeleteRoleInfo

(@RoleID)

GrantUserRole(string UserID string RoleID string

UserRoleNote) 授予用户角色,调用存储过程

GrantUserRole(@UserID,@RoleID,

@UserRoleNote)

DeleteUserRole() 删除用户角色,调用存储过程DeleteUserRole

(@UserRoleID)

GrantRolePermission(string RoleID string PermissionID string RolePermissionNote) 授予角色权限,调用存储过程

GrantRolePermission(@RoleID,@PermissionID,@RolePermissionNote)

DeleteRolePermission() 删除授予的角色权限,调用存储过程

DeleteRolePermission(@RolePermissionID)

4.2 用户认证代码设计(Client端)

Client端调用WebService方法来进行数据库访问,Client端代码设计主要实现界面的功能,包括:权限设置、用户管理、用户授权管理和用户认证管理

1)权限设置

class PermissionInfoMng() 用户权限信息管理类,包括方法:

CreatePermissionInfo() 建立权限信息

2)用户管理

class UserInfoMng() 用户信息管理类,包括方法:

CreateUserInfo() 建立用户信息

ModifyUserInfo() 修改用户信息

DeleteUserInfo() 删除用户信息

3)用户授权管理

class RoleInfoMng() 角色信息管理类,包括方法:

CreateRoleInfo() 建立角色信息

DeleteRoleInfo() 删除角色信息

class UserRoleMng() 用户角色管理类,包括方法:

GrantUserRole() 授予用户角色

DeleteUserRole() 删除用户角色

class RolePermissionMng() 角色权限管理类,包括方法

GrantRolePermission() 授予角色权限

DeleteRolePermission() 删除角色权限

4)用户认证管理

class Authentication() 用户认证类,包括方法:

Login(string UserName string UserPwd) 用户登陆认证,用户认证通过分配给用户一个TicketID,否则TicketID则为null

Logout() 用户正常退出

ExceptionLogout() 用户异常退出

原文地址https://www.doczj.com/doc/f26079163.html,/develop/article/68/68125.shtm

发表于:2006-11-30 ,修改于:2006-11-30 09:46,已浏览2049次,有评论0条推荐投诉

一种通用权限管理方案的设计方案

一种通用权限管理方案的设计方案 分析了权限管理的概念和一些与权限管理容易混淆的概念。提出了一种目前可以应用到绝大多数与权限有关的系统设计中的通用权限管理方案。该方案以角色对用户进行分组,通过用户数据库、角色数据库、权限数据库、用户-权限数据库以及角色-权限数据库来实现权限的分层管理。该设计方案能够由管理员方便的对权限进行设置。通过对角色的权限设置可以达到快速设置权限。通过对用户的权限设置可以达到权限的精确控制。文章最后以某项目为基础对该权限设计方案进行了实现。通过测试,该方案能够很好的对用户权限进行控制,从而提高整个系统的安全性。 标签:权限系统角色数据库 1 权限管理的概念 权限管理是软件系统中最常见的功能之一。所谓权限管理,一般指根据系统设置的安全规则或者安全策略,用户可以访问而且只能访问自己被授权的资源,不多不少。权限管理几乎出现在任何系统里面,只要有用户和密码的系统。尤其是在B/S机构的系统中,由于没有专门的客户端软件系统,所以权限管理就显的尤为重要。如果一个B/S系统的权限管理设计的不好,那么一个“非法用户”就可以轻而易举的获取整个系统的所有本能,包括超级管理员的功能。那么这样的系统还有谁敢使用。 很多人,常将“用户身份认证”、“密码加密”、“系统管理”等概念与权限管理概念混淆。用户身份认证,根本就不属于权限管理范畴。用户身份认证,是要解决这样的问题:用户告诉系统“我是谁”,系统就问用户凭什么证明你就是“谁”呢?对于采用用户名、密码验证的系统,那么就是出示密码。当用户名和密码匹配,则证明当前用户是谁;对于采用指纹等系统,则出示指纹;对于硬件Key 等刷卡系统,则需要刷卡。密码加密,是隶属用户身份认证领域,不属于权限管理范畴。 2 权限管理的设计 2.1 权限管理的对象在一般的系统设计中,权限管理的参于对象包括用户对象、角色(或分组)对象、功能模块对象。角色是为了完成各种工作而创造,用户则依据它的责任和资格来被指派相应的角色。功能模块则对不同的系统来说各不相同,一般在系统设计中最终将其以图形界元素的形式表现出来(比如软件界面上的各个功能按钮)。 2.2 权限管理举例下面我们举例说明2.1中提到的用户、角色、功能三个对象在权限管理中具体应用。表1中列出了某文档管理项目中权限管理的一部分设计表。从中我们可以清晰的区别出这三个对象以及它们的各自作用。

用户权限设计

用户角色权限设计 实现业务系统中的用户权限管理 B/S系统中的权限比C/S中的更显的重要,C/S系统因为具有特殊的客户端,所以访问用户的权限检测可以通过客户端实现或通过客户端+服务器检测实现,而B/S中,浏览器是每一台计算机都已具备的,如果不建立一个完整的权限检测,那么一个“非法用户”很可能就能通过浏览器轻易访问到B/S系统中的所有功能。因此B/S业务系统都需要有一个或多个权限系统来实现访问权限检测,让经过授权的用户可以正常合法的使用已授权功能,而对那些未经授权的“非法用户”将会将他们彻底的“拒之门外”。下面就让我们一起了解一下如何设计可以满足大部分B/S系统中对用户功能权限控制的权限系统。 需求陈述 ?不同职责的人员,对于系统操作的权限应该是不同的。优秀的业务系统,这是最基本的功能。 ?可以对“组”进行权限分配。对于一个大企业的业务系统来说,如果要求管理员为其下员工逐一分配系统操作权限的话,是件耗时且不够方便的事情。所以,系统中就提出了对“组”进行操作的概念,将权限一致的人员编入同一组,然后对该组进行权限分配。 ?权限管理系统应该是可扩展的。它应该可以加入到任何带有权限管理功能的系统中。就像是组件一样的可以被不断的重用,而不是每开发一套管理系统,就要针对权限管理部分进行重新开发。 ?满足业务系统中的功能权限。传统业务系统中,存在着两种权限管理,其一是功能权限的管理,而另外一种则是资源权限的管理,在不同系统之间,功能权限是可以重用的,而资源权限则不能。 关于设计 借助NoahWeb的动作编程理念,在设计阶段,系统设计人员无须考虑程序结构的设计,而是从程序流程以及数据库结构开始入手。为了实现需求,数据库的设计可谓及其重要,无论是“组”操作的概念,还是整套权限管理系统的重用性,都在于数据库的设计。 我们先来分析一下数据库结构: 首先,action表(以下简称为“权限表”),gorupmanager表(以下简称为“管理组表”),以及master表(以下简称为“人员表”),是三张实体表,它们依次记录着“权限”的信息,“管理组”的信息和“人员”的信息。如下图:

信息系统用户帐号与角色权限管理系统流程

信息系统用户帐号与角色权限管理流程 一、目的 碧桂园的信息系统已经在集团下下各公司推广应用,为了确保公司各应用信息系统安全、有序、稳定运行,我们需要对应用信息系统用户帐号和用户权限申请与审批进行规范化管理,特制定本管理规定。 二、适用范围 适用于公司应用信息系统和信息服务,包括ERP系统、协同办公系统、各类业务应用系统、电子邮箱及互联网服务、数据管理平台等。 三、术语和定义 用户:被授权使用或负责维护应用信息系统的人员。 用户帐号:在应用信息系统中设置与保存、用于授予用户合法登陆和使用应用信息系统等权限的用户信息,包括用户名、密码以及用户真实姓名、单位、联系方式等基本信息内容。 权限:允许用户操作应用信息系统中某功能点或功能点集合的权力范围。 角色:应用信息系统中用于描述用户权限特征的权限类别名称。 四、用户管理 (一)用户分类 1.系统管理员:系统管理员主要负责应用信息系统中的系统参数配置,用户帐号开通与维护管理、设定角 色与权限关系,维护公司组织机构代码和物品编码等基础资料。 2.普通用户:指由系统管理员在应用信息系统中创建并授权的非系统管理员类用户,拥有在被授权范围内 登陆和使用应用信息系统的权限。 (二)用户角色与权限关系 1.应用信息系统中对用户操作权限的控制是通过建立一套角色与权限对应关系,对用户帐号授予某个角色 或多个角色的组合来实现的,一个角色对应一定的权限(即应用信息系统中允许操作某功能点或功能点 集合的权力),一个用户帐号可通过被授予多个角色而获得多种操作权限。 2.由于不同的应用信息系统在具体的功能点设计和搭配使用上各不相同,因此对角色的设置以及同样的角 色在不同应用信息系统中所匹配的具体权限范围可能存在差异,所以每个应用信息系统都需要在遵循《应 用信息系统角色与权限设置规范》基础上,分别制定适用于本系统的《碧桂园应用信息系统角色与权限 关系对照表》(表样见附表1)。具体详细各系统角色与权限关系表以各系统公布为准。 五、用户帐号实名制注册管理

系统权限管理设计方案(优选.)

OA系统权限管理设计方案 l 不同职责的人员,对于系统操作的权限应该是不同的。优秀的业务系统,这是最基本的功能。 l 可以对“组”进行权限分配。对于一个大企业的业务系统来说,如果要求管理员为其下员工逐一分配系统操作权限的话,是件耗时且不够方便的事情。所以,系统中就提出了对“组”进行操作的概念,将权限一致的人员编入同一组,然后对该组进行权限分配。 l 权限管理系统应该是可扩展的。它应该可以加入到任何带有权限管理功能的系统中。就像是组件一样的可以被不断的重用,而不是每开发一套管理系统,就要针对权限管理部分进行重新开发。 l 满足业务系统中的功能权限。传统业务系统中,存在着两种权限管理,其一是功能权限的管理,而另外一种则是资源权限的管理,在不同系统之间,功能权限是可以重用的,而资源权限则不能。 针对OA系统的特点,权限说明: 权限 在系统中,权限通过模块+动作来产生,模块就是整个系统中的一个子模块,可能对应一个菜单,动作也就是整个模块中(在B/S系统中也就是一个页面的所有操作,比如“浏览、添加、修改、删除”等)。将模块与之组合可以产生此模块下的所有权限。 权限组 为了更方便的权限的管理,另将一个模块下的所有权限组合一起,组成一个“权限组”,也就是一个模块管理权限,包括所有基本权限操作。比如一个权限组(用户管理),包括用户的浏览、添加、删除、修改、审核等操作权限,一个权限组也是一个权限。

角色 权限的集合,角色与角色之间属于平级关系,可以将基本权限或权限组添加到一个角色中,用于方便权限的分配。 用户组 将某一类型的人、具有相同特征人组合一起的集合体。通过对组授予权限(角色),快速使一类人具有相同的权限,来简化对用户授予权限的繁琐性、耗时性。用户组的划分,可以按职位、项目或其它来实现。用户可以属于某一个组或多个组。 通过给某个人赋予权限,有4种方式(参考飞思办公系统) A. 通过职位 a) 在职位中,职位成员的权限继承当前所在职位的权限,对于下级职位拥有的权限不可继承。 b) 实例中:如前台这个职位,对于考勤查询有权限,则可以通过对前台这个职位设置考勤查询的浏览权,使他们有使用这个对象的权限,然后再设置个,考勤查询权(当然也可以不设置,默认能进此模块的就能查询),则所有前台人员都拥有考勤查询的权利。 B. 通过项目 a) 在项目中,项目成员的权限来自于所在项目的权限,他们同样不能继承下级项目的权限,而对于项目组长,他对项目有全权,对下级项目也一样。 b) 实例中:在项目中,项目成员可以对项目中上传文档,查看本项目的文档,可以通过对项目设置一个对于本项目的浏览权来实现进口,这样每个成员能访问这个项目了,再加上项目文档的上传权和查看文档权即可。

RBAC用户角色权限设计方案(非常好)

扩展RBAC用户角色权限设计方案 RBAC (Role-Based Access Control ,基于角色的访问控制),就是用户通过角色与权限进行关联。简单地说,一个用户拥有若干角色,每一个角色拥有若干权限。这样,就构造成“用户-角色-权限”的授权模型。在这种模型中,用户与角色之间,角色与权限之间,一般者是多对多的关系。(如下图)

角色是什么?可以理解为一定数量的权限的集合,权限的载体。例如:一个论坛系统,“超级管理员”、“版主”都是角色。版主可 管理版内的帖子、可管理版内的用户等,这些是权限。要给某个用户授予这些权限,不需要直接将权限授予用户,可将“版主”这个 角色赋予该用户。 当用户的数量非常大时,要给系统每个用户逐一授权(授角色),是件非常烦琐的事情。这时,就需要给用户分组,每个用户组内有 多个用用户表 用户ID 範加刖 用户名 VAKCJUJG GO) 角邑表 疣Jg KU ■郦 行恳 律邑朽VABOW^O) 权眼表 用戶角色吴说 用/Tnf NUM 血氏 宦色 m MUMPER 权限捺识VARCKAR2(5O)

户。除了可给用户授权外,还可以给用户组授权。这样一来,用户拥有的所有权限,就是用户个人拥有的权限与该用户所在用户组拥有的权限之和。(下图为用户组、用户与角色三者的关联关系)

用户亀 用,口?血 IF 用尸廻名称 则G01 敦用户绢茗称imiEEH 用尸角色关联表 SPTB mBER <£kl> 角色IE ?0EIt <£k2> 用户组TD2 MJWBER <£kt> 用 FID2 HUMBER ]甬户蛆帽色关联炭 用尸注D IBIBER 甬色ID mWER FK 瀏 EEF USn 用戶表 ^.PlD 利町四 fflPa ¥血诙应伽] 箱 felD NW 耶 yk ; 隹色客 mCHkR2UU J FK UE EEf SOLE 用户鉅与用户关朕表 y. rK_SR_ta_CRDUF 角色董 FK_UR_ USER

系统用户及权限管理制度

航开发系统用户账号及权限管理制度 第一章总则 第一条 航开发系统用户的管理包括系统用户ID的命名;用户ID的主数据的建立;用户ID的增加、修改;用户ID的终止;用户密码的修改;用户ID的锁定和解锁;临时用户的管理;应急用户的管理;用户ID的安全管理等。 第二章管理要求 第二条 航开发系统管理员(以下简称系统管理员)在系统中不得任意增加、修改、删除用户ID,必须根据《系统用户账号申请及权限审批表》和相关领导签字审批才能进行相应操作,并将相关文档存档。 第三条 用户ID的持有人特别是共享的用户ID必须保证用户ID和用户密码的保密和安全,不得对外泄漏,防止非此用户ID的所有者登录系统。 第四条 用户管理员要定期检查系统内用户使用情况,防止非法授权用户恶意登录系统,保证系统的安全。 第五条 用户ID持有人要对其在系统内的行为负责,各部门领导要对本部门用户的行为负责。

第六条 用户ID的命名由系统管理员执行,用户ID命名应遵循用户ID的命名规则,不得随意命名。 第七条 用户ID主数据库的建立应保证准确、完整和统一,在用户ID发生改变时,用户管理员应及时保证主数据库的更新,并做好用户ID变更的归档工作。 第八条 对用户申请表等相关文档各申请部门的用户管理员必须存档,不得遗失。 第九条 公司NC-ERP系统中各部门必须明确一名运维管理人员负责本部门用户管理、权限管理及基础数据维护等相关工作。 第三章增加、修改用户ID的管理第十条 公司NC-ERP系统中增加、修改用户ID应符合下列情况之一: 1、因工作需要新增或修改用户ID; 2、用户ID持有人改变; 3、用户ID封存、冻结、解冻; 4、单位或部门合并、分离、撤消; 5、岗位重新设置; 6、其他需要增加或修改公司NC-ERP系统中用户ID的情况。 第十一条

系统权限管理方案

权限 在系统中,权限通过模块+动作来产生。(在系统中也就是一个页面的所有操作,比如(浏览、添加、修改、删除等)。将模块与之组合可以产生此模块下的所有权限。 权限组 为了更方便的权限的管理,另将一个模块下的所有权限组合一起,组成一个权限组,也就是一个模块管理权限,包括所有基本权限操作。比如一个权限组(用户管理),包括用户的浏览、添加、删除、修改、审核等操作权限,一个权限组也是一个权限。 角色 权限的集合,角色与角色之间属于平级关系,可以将基本权限或权限组添加到一个角色中,用于方便权限的分配。 用户组将某一类型的人、具有相同特征人组合一起的集合体。通过对组授予权限(角色),快速使一类人具有相同的权限,来简化对用户授予权限的繁琐性、耗时性。用户组的划分,可以按职位、项目或其它来实现。用户可以属于某一个组或多个组。 一、通过给某个人赋予权限,有四种方式: (一):通过职位 在职位中,职位成员的权限继承当前所在职位的权限,对于下级职位拥有的权限不可继承。 例如前台这个职位,对于考勤查询有权限,则可以通过对前台这个职位设置考勤 查询的浏览权,使他们有使用这个对象的权限,然后再设置个考勤查询权(当然也可以不设置,默认能进此模块的就能查询),则所有前台人员都拥有考勤查询的权利。 (二):通过项目 在项目中,项目成员的权限来自于所在项目的权限,他们同样不能继承下级项目的权限,而对于项目组长,他对项目有全权,对下级项目也一样。 例如在项目中,项目成员可以对项目中上传文档,查看本项目的文档,可以通过对项目设置一个对于本项目的浏览权来实现进口,这样每个成员能访问这个项目了,再加上项目文档的上传权限和查看文档权限即可。 对于组长,因为可以赋予组长一个组长权(组长权是个特殊的权限,它包含其他各种权限的一个权限包),所有组长对于本项目有全权,则项目组长可以对于项目文档查看,审批,删除,恢复等,这些权限对于本项目的下级项目依然有效。 (三):通过角色 角色中的成员继承角色的权限,角色与角色没有上下级关系,他们是平行的。通过角色赋予权限,是指没办法按职位或项目的分类来赋予权限的另一种方式,如:系统管理员,资料备份员 例如对于系统中,全体人员应该默认都有的模块,如我的邮件,我的文档,我的日志,我的考勤等等,这些模块系统成员都应该有的,我们建立一个角色为系统默认角色, 把所有默认访问的模块的浏览权限加入到里面去,则系统成员都能访问这些模块。 (四):直接指定 直接指定是通过对某个人具体指定一项权限,使其有使用这个权限的能力。直接指定是角色指定的一个简化版,为了是在建立像某个项目的组长这种角色时,省略创建角色这一个步骤,使角色不至于过多。 例如指定某个项目的组长,把组长权限指定给某个人。 二针对职位、项目组: 如果用添加新员工,员工调换职位、项目组,满足了员工会自动继承所在职位、项目组的权限,不需要重新分配权限的功能。

最经典用户权限管理模块设计

实现业务系统中的用户权限管理--设计篇 B/S系统中的权限比C/S中的更显的重要,C/S系统因为具有特殊的客户端,所以访问用户的权限检测可以通过客户端实现或通过客户端+服务器检测实现,而B/S中,浏览器是每一台计算机都已具备的,如果不建立一个完整的权限检测,那么一个“非法用户”很可能就能通过浏览器轻易访问到B/S系统中的所有功能。因此B/S业务系统都需要有一个或多个权限系统来实现访问权限检测,让经过授权的用户可以正常合法的使用已授权功能,而对那些未经授权的“非法用户”将会将他们彻底的“拒之门外”。下面就让我们一起了解一下如何设计可以满足大部分B/S系统中对用户功能权限控制的权限系统。 需求陈述 ?不同职责的人员,对于系统操作的权限应该是不同的。优秀的业务系统,这是最基本的功能。 ?可以对“组”进行权限分配。对于一个大企业的业务系统来说,如果要求管理员为其下员工逐一分配系统操作权限的话,是件耗时且不够方便 的事情。所以,系统中就提出了对“组”进行操作的概念,将权限一致 的人员编入同一组,然后对该组进行权限分配。 ?权限管理系统应该是可扩展的。它应该可以加入到任何带有权限管理功能的系统中。就像是组件一样的可以被不断的重用,而不是每开发一套 管理系统,就要针对权限管理部分进行重新开发。 ?满足业务系统中的功能权限。传统业务系统中,存在着两种权限管理,其一是功能权限的管理,而另外一种则是资源权限的管理,在不同系统 之间,功能权限是可以重用的,而资源权限则不能。 关于设计 借助NoahWeb的动作编程理念,在设计阶段,系统设计人员无须考虑程序结构的设计,而是从程序流程以及数据库结构开始入手。为了实现需求,数据库的设计可谓及其重要,无论是“组”操作的概念,还是整套权限管理系统的重用性,都在于数据库的设计。 我们先来分析一下数据库结构: 首先,action表(以下简称为“权限表”),gorupmanager表(以下简称为“管理组表”),以及master表(以下简称为“人员表”),是三张实体表,它们依次记录着“权限”的信息,“管理组”的信息和“人员”的信息。如下图:

最全系统账户权限的管理规范完整版.doc

系统账户权限管理规范 1.目的 为规范产业公司系统账户、权限管理,确保各使用单位与权限操作间的有效衔接,防止账户与权限管理失控给公司带来利益损失、经营风险。信息系统帐号的合理配置、有效使用、及时变更、安全保密,特制订本规范。 2.适用范围 本规范适用于多公司本部各单位、营销机构。 3.定义 3.1公司:指多媒体产业公司 3.2单位:指公司下属各单位,包含HR中体现为不同人事范围的直属部门、驻外机构。 3.3人事管理:指负责本单位人事信息人员,包括行政机构、驻外分公司人事经理、事业部、生产厂等部门级人事管理岗。 3.4权限管理员:负责本单位信息系统用户集中申请、变更,管理本单位信息系统用户对口的管理人员。包含单位自行开发和管理的信息系统(自行开发系统由所在部门指定系统管理员负责),如营销中心的“DDS”,研究“PDM”也是流程申请的维一发起人。 3.5系统管理员:指系统开发、系统配置管理的IT人员,部分虹信IT顾问为主。也可根据组织架构授权给某业务单位的相关人员,其负责某系统用户和权限的配置管理者。 3.6系统流:指每个系统固定的申请、审批流,原则上由系统管理员或权限管理员配置。 4.部门职责 4.1产业公司负责人: 4.1.1.公司信息系统立项、验收等审批工作。 4.1.2.公司信息系统,信息安全的第一责任人。 4.1.3.公司信息系统组织第一责任人

4.2人事部门: 4.2.1负责在人力资源管理系统(以下简称HR系统)处理人事档案,各单位权限管理员提交的信息系统需求协助。 4.2.2提供各单位的入职、调动、离职信息给信息系统管理部门。 4.2.3协助信息系统部门与人事相关的其它需求。 4.3控制中心: 4.3.1负责发布和制定信息建设规范,并组织通过技术手段或辅助工具管理。4.3.2负责组织周期性清理各信息系统账户。 4.3.3负责信息系统档案的建立。 4.3.4负责信息系统维护、权限配置、权限审核等相关事宜。 4.3.5 4.4用户申请部门和使用单位: 4.4.1各单位第一负责人管理本单位员工,各信息系统账户、权限申请、审核并对信息系统安全负责。定期组织相关人员对部门的信息系统帐号、权限进行清理和检查,申请职责可指定单位专人负责。 4.4.2权限管理员作为各单位信息系统申请的唯一发起人。 4.4.3权限管理员协助单位人事向公司人事部提交本单位入职、调动、离职信息。 4.4.4权限管理员负责本单位员工,各信息系统账户的新增、变更、冻结以及对应系统权限的申请工作。 4.4.5权限管理员负责定期核查本单位员工,对应系统账户的权限,若有偏差及时发起变更申请流程。 4.4.6帐号使用者不得将自己权限交由它人使用,部分岗位因工作需要交由同部门使用时,必须保证其安全和保密工作。 4.5系统操作部门: 4.5.1系统管理员负责对权限管理员提交的申请进行权限操作、审核。 4.5.2系统管理员定期在系统或SSU上获取信息系统的账号、权限分布表,并进行检查,对发现问题和风险的帐号及时告知相关部门并发起相应流程。 4.5.3系统管理员负责对系统故障进行处理或提交集团。 4.5.4系统管理员负责对系统操作手册的解释和编制工作。

系统权限管理设计方案.doc

OA系统权限管理设计方案7 OA系统权限管理设计方案 数据库2010-02-2310:09:25阅读13评论0字号:大中小 OA系统权限管理设计方案 l不同职责的人员,对于系统操作的权限应该是不同的。优秀的业务系统,这是最基本的功能。 l可以对“组”进行权限分配。对于一个大企业的业务系统来说,如果要求管理员为其下员工逐一分配系统操作权限的话,是件耗时且不够方便的事情。所以,系统中就提出了对“组”进行操作的概念,将权限一致的人员编入同一组,然后对该组进行权限分配。 l权限管理系统应该是可扩展的。它应该可以加入到任何带有权限管理功能的系统中。就像是组件一样的可以被不断的重用,而不是每开发一套管理系统,就要针对权限管理部分进行重新开发。 l满足业务系统中的功能权限。传统业务系统中,存在着两种权限管理,其一是功能权限的管理,而另外一种则是资源权限的管理,在不同系统之间,功能权限是可以重用的,而资源权限则不能。 针对OA系统的特点,权限说明: 权限

在系统中,权限通过模块+动作来产生,模块就是整个系统中的一个子模块,可能对应一个菜单,动作也就是整个模块中(在B/S系统中也就是一个页面的所有操作,比如“浏览、添加、修改、删除”等)。将模块与之组合可以产生此模块下的所有权限。 权限组 为了更方便的权限的管理,另将一个模块下的所有权限组合一起,组成一个“权限组”,也就是一个模块管理权限,包括所有基本权限操作。比如一个权限组(用户管理),包括用户的浏览、添加、删除、修改、审核等操作权限,一个权限组也是一个权限。 角色 权限的集合,角色与角色之间属于平级关系,可以将基本权限或权限组添加到一个角色中,用于方便权限的分配。 用户组 将某一类型的人、具有相同特征人组合一起的集合体。通过对组授予权限(角色),快速使一类人具有相同的权限,来简化对用户授予权限的繁琐性、耗时性。用户组的划分,可以按职位、项目或其它来实现。用户可以属于某一个组或多个组。 通过给某个人赋予权限,有4种方式(参考飞思办公系统) A.通过职位 a)在职位中,职位成员的权限继承当前所在职位的权限,对

权限管理设计说明

对EMS权限管理模块设计 1.权限设计概述 1.1引言 随着Web 服务的复杂度增加以及用户数量和种类的增多,安全问题在理论及工程上都 是一个必须考虑的问题,而权限管理是安全问题中一个很重要的方面。因此本文针对权限做 了一个分析。 权限可简单表述为这样的逻辑表达式:判断“Who对What(Which)进行How的操作”的 逻辑表达式是否为真。 1.2意义 ?用户管理及权限管理一直是应用系统中不可缺少的一个部分 ?系统用户很多,系统功能也很多 ?不同用户对系统功能的需求不同 ?出于安全等考虑,关键的、重要的系统功能需限制部分用户的使用 ?出于方便性考虑,系统功能需要根据不同的用户而定制 1.3目标 直观,因为系统最终会由最终用户来维护,权限分配的直观和容易理解,显得比较重要, 除了功能的必须,更主要的就是因为它足够直观。 简单,包括概念数量上的简单和意义上的简单还有功能上的简单。想用一个权限系统解 决所有的权限问题是不现实的。设计中将变化的“定制”特点比较强的部分判断为业务逻辑, 而将相同的“通用”特点比较强的部分判断为权限逻辑就是基于这样的思路。 扩展,采用可继承的方式解决了权限在扩展上的困难。引进Group概念在支持权限以组 方式定义的同时有效避免了权限的重复定义。 2.基于角色的权限管理设计(Role-Based Access Control,RBAC)2.1权限管理用例图

2.2用例图描述 超级管理员:系统中默认的角色,它是系统中拥有最高权限的角色,它不仅能够管理其他的管理员和用户,而且还可以对系统中每个模块的任一功能进行操作、维护。 普通管理员:它是由超级管理员创建的,并授予权限,它能够管理系统部分的功能,它可以查看所有普通管理员、普通用户的信息,它只能对由它自己创建的用户进行编辑、删除操作,和管理拥有权限的模块。 普通用户:它是系统中最低权限的角色,它只能对自己拥有的权限进行操作,一般情况下,它的权限是对信息的浏览和对自己信息的录入,修改。 登陆系统:根据用户拥有的权限不同,用户所能操作的功能多少就不同,所以在登陆系统的时候就要对用户的权限进行判断。

多系统权限设计

多系统权限设计 1.多系统基于角色的权限设计 这种方案是最常见也是比较简单的方案,不过通常有这种设计已经够了,这种方案对于每一个操作不做控制,只是在程序中根据角色对是否具有操作的权限进行控制;这里我们就不做详述.此处采用角色关联模块的方式。 2.多系统基于操作的权限设计 这种模式下每一个操作都在数据库中有记录,用户是否拥有该操作的权限也在数据库中有记录,结构如下:

但是如果直接使用上面的设计,会导致数据库中的_SysUserFuncOperate这张表数据量非常大,所以我们需要进一步设计提高效率,请看方案3 3.多系统基于角色和操作的权限设计

如上图所示,我们通过采用角色分配操作的方式,这样子就可以减少操作权限表(_SysRole FuncOperate)中的记录,并且使设计更灵活一点。 但是这种方案在用户需求的考验之下也可能显得不够灵活够用,例如当用户要求临时给某位普通员工某操作权限时,我们就需要新增加一种新的用户角色,但是这种用户角色是不必要的,因为它只是一种临时的角色,如果添加一种角色还需要在收回此普通员工权限时删除此角色,我们需要设计一种更合适的结构来满足用户对权限设置的要求。 4.2,3组合的权限设计,其结构如下: 我们可以看到在上图中添加了_SysUserFunc和_SysUserFuncOperate表,使用此表来添加特殊用户的权限。这样在应用程序中我们就需要通过_SysUserFuncOperate和_SysRoleFuncOperat e两张表中的记录判断权限。 当然,有可能用户还会给出这样的需求:对于某一种Operate所操作的对象某一些记录会有权限,而对于其他的记录没有权限,比如说一个内容管理系统,对于某一些频道某个用户有

用户权限设计(二)——用户认证管理设计方案

用户认证管理设计方案 1 设计思路 为了设计一套具有较强可扩展性的用户认证管理,需要建立用户、角色和权限等数据库表,并且建立之间的关系,具体实现如下。 1.1 用户 用户仅仅是纯粹的用户,用来记录用户相关信息,如用户名、密码等,权限是被分离出去了的。用户(User)要拥有对某种资源的权限,必须通过角色(Role)去关联。 用户通常具有以下属性: ü编号,在系统中唯一。 ü名称,在系统中唯一。 ü用户口令。 ü注释,描述用户或角色的信息。 1.2 角色 角色是使用权限的基本单位,拥有一定数量的权限,通过角色赋予用户权限,通常具有以下属性: ü编号,在系统中唯一。 ü名称,在系统中唯一。 ü注释,描述角色信息 1.3 权限 权限指用户根据角色获得对程序某些功能的操作,例如对文件的读、写、修改和删除功能,通常具有以下属性: ü编号,在系统中唯一。 ü名称,在系统中唯一。 ü注释,描述权限信息 1.4 用户与角色的关系 一个用户(User)可以隶属于多个角色(Role),一个角色组也可拥有多个用户,用户角色就是用来描述他们之间隶属关系的对象。用户(User)通过角色(Role)关联所拥有对某种资源的权限,例如 l用户(User): UserID UserName UserPwd 1 张三xxxxxx 2 李四xxxxxx …… l 角色(Role): RoleID RoleName RoleNote 01 系统管理员监控系统维护管理员 02 监控人员在线监控人员 03 调度人员调度工作人员 04 一般工作人员工作人员 …… l 用户角色(User_Role): UserRoleID UserID RoleID UserRoleNote 1 1 01 用户“张三”被分配到角色“系统管理员”

权限设计方案

权限管理设计一 ?博客分类: ?设计 设计模式数据结构 应用程序权限设计 我们在开发系统的时候,经常会遇到系统需要权限控制,而权限的控制程度不同有不同的设计方案。 1.基于角色的权限设计 这种方案是最常见也是比较简单的方案,不过通常有这种设计已经够了,所以微软就设计出这种方案的通用做法,这种方案对于每一个操作不做控制,只是在程序中根据角色对是否具有操作的权限进行控制;这里我们就不做详述 2.基于操作的权限设计 这种模式下每一个操作都在数据库中有记录,用户是否拥有该操作的权限也在数据库中有记录,结构如下:

但是如果直接使用上面的设计,会导致数据库中的UserAction这张表数据量非常大,所以我们需要进一步设计提高效率,请看方案3 3.基于角色和操作的权限设计 如上图所示,我们在添加了Role,和RoleAction表,这样子就可以减少UserAction中的记录,并且使设计更灵活一点。 但是这种方案在用户需求的考验之下也可能显得不够灵活够用,例如当用户要求临时给某位普通员工某操作权限时,我们就需要新增加一种新的用户角色,但是这种用户角色是不必要的,因为它只是一种临时的角色,如果添加一种角色还需要在收回此普通员工权限时删除此角色,我们需要设计一种更合适的结构来满足用户对权限设置的要求。 4.2,3组合的权限设计,其结构如下: 我们可以看到在上图中添加了UserAction表,使用此表来添加特殊用户的权限,改表中

有一个字段HasPermission可以决定用户是否有某种操作的权限,改表中记录的权限的优先级要高于UserRole中记录的用户权限。这样在应用程序中我们就需要通过UserRole 和UserAction两张表中的记录判断权限。 到这儿呢并不算完,有可能用户还会给出这样的需求:对于某一种action所操作的对象某一些记录会有权限,而对于其他的记录没有权限,比如说一个内容管理系统,对于某一些频道某个用户有修改的权限,而对于另外一些频道没有修改的权限,这时候我们需要设计更复杂的权限机制。 5.对于同一种实体(资源)用户可以对一部分记录有权限,而对于另外一些记录没有权限的权限设计: 对于这样的需求我们就需要对每一种不同的资源创建一张权限表,在上图中对Content 和Channel两种资源分别创建了UserActionContent和UserActionChannel表用来定义用户对某条记录是否有权限;这种设计是可以满足用户需求的但是不是很经济, UserActionChannel和UserActionContent中的记录会很多,而在实际的应用中并非需要记录所有的记录的权限信息,有时候可能只是一种规则,比如说对于根Channel什么级别的人有权限;这时候呢我们就可以定义些规则来判断用户权限,下面就是这种设计。 6.涉及资源,权限和规则的权限设计

公司信息化系统用户权限管理制度 Office

公司信息化系统用户权限管理制度 第一章总则 第一条为了规范公司信息化系统的权限管理工作,明确系统用户权限的管理职责,结合公司实际情况,特制定本制度。 第二条相关名词解释 信息化系统:公司ERP系统,炼钢生产管控系统、报表系统、在线质量判定系统、物资计量网、调度日报系统、能力计划系统、物资计量系统、热轧自动仓储、冷轧自动仓储、一卡通、OA、内网、文档管理、IT运行管理等系统。 权限:在信息化系统中用户所能够执行的操作及访问的数据。 第三条本制度的适用范围为公司各单位,其中派驻站、ERP权限变更按照其归属部门流程提报。 第二章职责分工 第四条运营改善部作为信息化系统用户权限的归口管理部门,主要负责各系统内用户权限的命名、审批、上报、配置、监控、删除、通知和培训等管理工作。负责《公司信息化系统用户权限管理制度》的修订、培训、实施、检查。 第五条各相关部室和作业部负责指定本单位权限管理员和权限审批者参与权限管理工作,权限管理员负责本单位信息系统权限的收集、申请、下发、测试、反馈;权限审批者负责本单位申请的系统权限进行审批把关,并对权限申请后形成的业务结果负责。 第六条系统用户负责本人权限测试、保管工作;负责权限密码泄密后的上报和密码更换工作;负责依据本人权限进行相应系统操作。

第三章系统用户权限管理 第七条用户权限的申请 业务部门根据实际业务,需要新建(变更)信息化系统用户的权限,由本部门权限管理员在公司IT运行管理系统中填报权限新增(变更)申请。 第八条用户权限的审批 信息系统用户权限新增(变更)申请在公司IT运行管理系统中由申请单位权限审批者进行审批。 第九条用户权限的系统实现 经公司IT运行管理系统申请的系统权限,由运营改善部权限管理员于收到权限申请后一个工作日内完成权限审批、配置、变更工作,对于审批通过的ERP权限申请,由运营改善部按照《R/3系统用户申请表》、《用户权限变更申请表》要求完成上报工作。 第十条用户权限的系统测试 申请单位权限管理员在接到权限配置完成的信息后,应及时通知相关用户,在两个工作日之内完成系统权限测试,存在问题的由权限管理员反馈运营改善部。申请单位权限管理员在接到权限删除完成的信息后,由权限管理员在两个工作日之内完成系统权限测试,存在问题的由权限管理员反馈运营改善部。 在两个工作日之内无问题反馈的,运营改善部将视此权限设置正确,以后该申请权限存在的任何问题重新按照权限新增(变更)流程处理。 第四章用户权限的使用和管理 第十一条系统权限用户命名由运营改善部权限管理员负责,ERP权限命名规则为首字母Q加上模块名(如:FI、MM、PP)加上连接字符“-”,再加上4位用户

OA权限管理设计的实现

OA权限管理设计的实现 任何系统都离不开权限的管理,有一个好的权限管理模块,不仅使我们的系统操作自如,管理方便,也为系统添加亮点。 不同职责的人员,对于系统操作的权限应该是不同的。优秀的业务系统,这是最基本的功能。 可以对“组”进行权限分配。对于一个大企业的业务系统来说,如果要求管理员为其下员工逐一分配系统操作权限的话,是件耗时且不够方便的事情。所以,系统中就提出了对“组”进行操作的概念,将权限一致的人员编入同一组,然后对该组进行权限分配。 权限管理系统应该是可扩展的。它应该可以加入到任何带有权限管理功能的系统中。就像是组件一样的可以被不断的重用,而不是每开发一套管理系统,就要针对权限管理部分进行重新开发。 满足业务系统中的功能权限。传统业务系统中,存在着两种权限管理,其一是功能权限的管理,而另外一种则是资源权限的管理,在不同系统之间,功能权限是可以重用的,而资源权限则不能。 针对OA系统的特点,权限说明: 权限 在系统中,权限通过模块+动作来产生,模块就是整个系统中的一个子模块,可能对应一个菜单,动作也就是整个模块中(在B/S系统中也就是一个页面的所有操作,比如“浏览、添加、修改、删除”等)。将模块与之组合可以产生此模块下的所有权限。 权限组 为了更方便的权限的管理,另将一个模块下的所有权限组合一起,组成一个“权限组”,也就是一个模块管理权限,包括所有基本权限操作。比如一个权限组(用户管理),包括用户的浏览、添加、删除、修改、审核等操作权限,一个权限组也是一个权限。 角色 权限的集合,角色与角色之间属于平级关系,可以将基本权限或权限组添加到一个角色中,用于方便权限的分配。 用户组 将某一类型的人、具有相同特征人组合一起的集合体。通过对组授予权限(角色),快速使一类人具有相同的权限,来简化对用户授予权限的繁琐性、耗时性。用户组的划分,可以按职位、项目或其它来实现。用户可以属于某一个组或多个组。 通过给某个人赋予权限,有4种方式(参考飞思办公系统) A.通过职位 a)在职位中,职位成员的权限继承当前所在职位的权限,对于下级职位拥有的权限 不可继承。

OA系统权限管理设计方案

OA系统权限管理设计方案 不同职责的人员,对于系统操作的权限应该是不同的。优秀的业务系统,这是最基本的 功能。 可以对“组”进行权限分配。对于一个大企业的业务系统来说,如果要求管理员为其下员工逐一分配系统操作权限的话,是件耗时且不够方便的事情。所以,系统中就提出了对“组” 进行操作的概念,将权限一致的人员编入同一组,然后对该组进行权限分配。 权限管理系统应该是可扩展的。它应该可以加入到任何带有权限管理功能的系统中。就像是组件一样的可以被不断的重用,而不是每开发一套管理系统,就要针对权限管理部分进 行重新开发。 满足业务系统中的功能权限。传统业务系统中,存在着两种权限管理,其一是功能权限的管理,而另外一种则是资源权限的管理,在不同系统之间,功能权限是可以重用的,而资源 权限则不能。 针对OA系统的特点,权限说明: 权限 在系统中,权限通过模块+动作来产生,模块就是整个系统中的一个子模块,可能对应一个菜单,动作也就是整个模块中(在B/S系统中也就是一个页面的所有操作,比如“浏览、添加、修改、删除”等)。将模块与之组合可以产生此模块下的所有权限。 权限组 为了更方便的权限的管理,另将一个模块下的所有权限组合一起,组成一个“权限组”,也就是一个模块管理权限,包括所有基本权限操作。比如一个权限组(用户管理),包括用户的浏览、添加、删除、修改、审核等操作权限,一个权限组也是一个权限。 角色 权限的集合,角色与角色之间属于平级关系,可以将基本权限或权限组添加到一个角色中, 用于方便权限的分配。 用户组 将某一类型的人、具有相同特征人组合一起的集合体。通过对组授予权限(角色),快速使一类人具有相同的权限,来简化对用户授予权限的繁琐性、耗时性。用户组的划分,可以按职位、项目或其它来实现。用户可以属于某一个组或多个组。

统一身份认证、统一系统授权、统一系统审计、统一消息平台、统一内容管理方案设计

基础支撑层 统一身份认证(SSO) 统一身份认证解决用户在不同的应用之间需要多次登录的问题。目前主要有两种方法,一种是建立在PKI,Kerbose和用户名/口令存储的基础上;一种是建立在cookie的基础上。统一身份认证平台主要包括三大部分:统一口令认证服务器、网络应用口令认证模块(包括Web 口令认证、主机口令认证模块、各应用系统口令认证模块等) 和用户信息数据库,具体方案如下图。 1、采用认证代理,加载到原有系统上,屏蔽或者绕过原有系统的认证。 2、认证代理对用户的认证在公共数据平台的认证服务器上进行,认证代理可以在认证服务器上取得用户的登录信息、权限信息等。 3、同时提供一个频道链接,用户登录后也可以直接访问系统,不需要二次认证。 4、对于认证代理无法提供的数据信息,可以通过访问Web Service接口来获得权限和数据信息。 单点登录认证的流程如下图所示:

单点登录只解决用户登录和用户能否有进入某个应用的权限问题,而在每个业务系统的权限则由各自的业务系统进行控制,也就是二次鉴权的思想,这种方式减少了系统的复杂性。统一身份认证系统架构如下图所示。 统一系统授权 统一系统授权支撑平台环境中,应用系统、子系统或模块统通过注册方式向统一系统授权支撑平台进行注册,将各应用系统的授权部分或全部地委托给支撑平台,从而实现统一权限管理,以及权限信息的共享,其注册原理如下图。

用户对各应用系统的访问权限存放在统一的权限信息库中。用户在访问应用系统的时候,应用系统通过统一授权系统的接口去查询、验证该用户是否有权使用该功能,根据统一系统授权支撑平台返回的结果进行相应的处理,其原理如下图。 统一系统授权支撑平台的授权模型如下图所示。在授权模型中采用了基于角色的授权方式,以满足权限管理的灵活性、可扩展性和可管理性的需求 块

信息系统用户和权限管理制度

系统用户和权限管理制度 第一章总则 第一条为加强系统用户账号和权限的规范化管理,确保各信息系统安全、有序、稳定运行,防范应用风险,特制定本制度。 第二条本制度适用于管理的、基于角色控制和方法设计的各型信息系统,以及以用户口令方式登录的客户端。 第三条系统用户、角色、权限的划分和制定,以人力资源部对部门职能定位和各业务部门内部分工为依据。 第四条协同办公系统用户和权限管理由场办公室负责,其他业务系统的用户和权限管理由各业务部门具体负责。所有信息系统须指定系统管理员负责用户和权限管理的具体操作。 第五条信息系统用户和权限管理的基本原则是: (一)用户、权限和口令设置由系统管理员全面负责。 (二)用户、权限和口令管理必须按照要求进行分配管理。 (三)用户、权限和口令管理采用实名制管理模式。 (四)严禁杜绝一人多账号登记注册。 第二章管理职责 第七条系统管理员职责 创建各类申请用户、用户有效性管理、为用户分配经授权批准使用的业务系统、为用户授权和操作培训和技术指导。 第八条用户职责 用户须严格管理自己用户名和口令,遵守保密性原则,除获得授权或另有规定外,不能将收集的个人信息向任何第三方泄露或公开。系统内所有用户信息均必须采用真实信息,即实名制登记。 第三章用户管理 第十条用户申请和创建

(一)申请人填写基本情况,提交本部门负责人; (二)部门负责人确认申请业务用户的身份权限,并在《用户账号申请和变更表》确认。 (三)经由部门经理进行审批后,由系统管理员创建用户或者变更权限。 (四)系统管理员将创建的用户名、口令告知申请人本人,并要求申请人及时变更口令; (五)系统管理员将《用户账号申请和变更表》存档管理。 第十一条用户变更和停用 (一)人力资源部主管确认此业务用户角色权限或变更原因。 (二)执行部门主管确认此业务用户角色权限或变更原因。 (三)系统管理员变更 系统管理员变更,应及时向上级系统管理员报告,并核对其账户信息、密码以及当时系统中的各类用户信息及文档,核查无误后方可进行工作交接。新任系统管理员应及时变更账户信息及密码。 (四)业务管理员变更 业务变更应及时向本级管理或上级业务管理报告,上级业务管理和系统管理员及时变更业务管理信息。 (五)用户注销 用户因工作岗位变动,调动、离职等原因导致使用权限发生变化或需要注销其分配账号时,应填写《用户账号申请和变更表》,按照用户账号停用的相关流程办理,由系统管理员对其权限进行注销。 第四章安全管理 第十二条使用各信息系统应严格执行国家有关法律、法规,遵守公司的规章制度,确保国家秘密和企业利益安全。 第十三条口令管理 (一)系统管理员创建用户时,应为其分配独立的初始密码,并单独告知申请人。 (二)用户在初次使用系统时,应立即更改初始密码。 (三)用户应定期变更登陆密码。 (四)用户不得将账户、密码泄露给他人。 第十四条帐号审计

相关主题
文本预览
相关文档 最新文档