预览加载中,请您耐心等待几秒...
1/7
2/7
3/7
4/7
5/7
6/7
7/7

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

杨教授大学堂精心创作的优秀程序员职业提升必读系列资料 应用系统中的权限管理相关的应用技术及应用示例 1.1.1应用系统中的权限管理技术概述 1、什么是权限管理及应用的重要性 管理信息系统是一个复杂的人机交互系统,其中每个具体环节都可能受到安全的威胁。 因此构建出强健的权限管理系统,并保证管理信息系统的安全性是十分重要的。 (1)什么是权限管理 所谓权限管理就是对某个主体(Subject)在某个资源(Resource)上执行了某个操作 (Operation)的信息传递路径中加上一些限制性控制。它一般是指根据应用系统中既定设置 的安全规则或者安全策略,最终实现用户可以访问而且只能访问自己被授权的资源。 (2)B/S系统中的权限控制比C/S中的权限控制更显得重要 C/S系统因为具有特殊的客户端,所以对访问用户的权限检测可以通过客户端系统本身 实现或通过“客户端+服务器”配合检测而实现。而在B/S的应用系统中,浏览器是每一台 计算机都已具备的,如果不建立一个完整的权限检测,那么一个“非法用户”很可能就能 通过浏览器轻易地访问到B/S应用系统中的所有功能。 因此B/S业务系统都需要有一个或多个权限系统来实现访问权限检测,让经过授权的 用户可以正常合法的使用已授权功能,而对那些未经授权的“非法用户”将会将他们彻底 的“拒之门外”。 2、“用户身份认证”、“密码加密”、“系统管理”等不属于权限控制的范畴 很多人常将“用户身份认证”、“密码加密”、“用户系统管理”等概念与权限管理概念 混淆,因为用户身份认证等根本就不属于权限管理范畴。 (1)用户身份认证 应用系统中的用户身份认证,是要解决这样的问题:用户告诉应用系统“我是谁”,系 统就问用户凭什么证明你就是“谁”呢?对于采用用户名、密码验证的应用系统,那么就 是出示用户名和匹配的密码。当用户名和密码相互匹配,则证明当前用户是谁。 其中的用户名和密码也称为用户凭证,用户凭证就是唯一识别用户的标识。通常是用 户ID,而且一般使用UUID(UniversallyUniqueIdentifier,通用唯一识别码)作为用户凭 证是一种可靠的方法。 (2)密码加密 杨教授大学堂,版权所有,盗版必究。1/7页 杨教授大学堂精心创作的优秀程序员职业提升必读系列资料 用户密码、聊天消息、银行卡号、邮件信息、商业敏感数据,如果通过明文传输,后果 不堪设想。加密属于安全,加密是将明文通过算法转化为密文,不属于权限管理。 对数据加密的要求具体有两种形式:其一是加密后不需要再解密,另一种则是加密后还 需要再解密为明文。 1)加密后不需要再解密 应用系统中的用户登录的密码不能直接存储到数据库,需要经过加密,再存储到数据库 系统中,因此不需要再解密转换为明文。在注册用户时使用下面方法加密后再把密码保存 到数据库中,当登录时,同样也调用下面的方法对输入的密码先进行加密,再与数据库中 加密密码进入比较,如果相等则进入系统,如果不等则登录失败。 当然,为了提高安全性,也可以在应用MD5加密时加些“盐”。比如将用户名,密码和 自定义的一些字符串连起来,然后再进行MD5计算。如:MyUsernameMyPasswordSalt, 因为这么长的字符串是不容易破解的。甚至还可以连续使用两次MD5进行加密。 2)加密后还需要再解密为明文 目前常用的加密算法包括对称密钥加密算法,公开密钥加密算法等等。对称密钥加密算 法包括:DES,IDEA,3DES等。公开密钥加密算法包括RSA,ECC等。 (3)用户管理系统 用户管理系统不是权限管理系统,尽管权限管理基本上都是基于用户的(但权限也可 以是不局限于用户的,比如可以是某个网站使用另一个网站的资源,一台计算机权限,一 个线程权限等),这个用户有什么权限,那个用户有什么权限。但用户管理系统,只是将用 户的信息进行管理。 3、应用系统中对权限管理的基本要求 (1)不同职责的人员,对于系统操作的权限应该是不同的 (2)可以对“组”进行权限分配 将权限一致的人员编入同一组,然后对该组进行权限分配。 (3)权限管理系统应该是可扩展的 它应该可以加入到任何带有权限管理功能的系统中。而不是每开发一套管理系统,就 要针对权限管理部分进行重新开发。 4、权限管理的分类(在不同系统之间,功能权限是可以重用的,而资源权限则不能) (1)功能级权限管理 主要控制用户可以访问系统中的哪些功能,比如允许某些用户使用某功能,访问某页 面。同时也拒绝某些用户使用某功能,访问某页面。 杨教授大学堂,版权所有,盗版必究。2/7页 杨教授大学堂精心创作的优秀程序员职业提升必读系列资料 一般使用基于角色访问控制技术RBAC(RoleBasedAccessControl)。 (2)数据级权限管理 限制数据