For investors
股价:
5.36 美元 %For investors
股价:
5.36 美元 %认真做教育 专心促就业
权限管理是程序员在开发软件的时候会添加的一个功能,而今天我们就通过案例分析来了解一下,软件开发权限管理概念与应用方法。
一、概念
1、什么是权限管理
只要有用户参与的系统一般都要有权限管理,权限管理实现对用户访问系统的控制,按照安全规则或者安全策略控制用户可以访问而且只能访问自己被授权的资源。
权限管理包括用户认证和授权两部分。
(1)用户认证
用户认证,用户去访问系统,系统要验证用户身份的合法性。常用的用户身份验证的方法:1、用户名密码方式、2、指纹打卡机、3、基于证书验证方法。。系统验证用户身份合法,用户方可访问系统的资源。
关键对象
subject:主体,理解为用户,可能是程序,都要去访问系统的资源,系统需要对subject进行身份认证。
principal:身份信息,通常是的,一个主体还有多个身份信息,但是都有一个主身份信息(primaryprincipal)
credential:凭证信息,可以是密码、证书、指纹。
总结:主体在进行身份认证时需要提供身份信息和凭证信息。
(2)用户授权
用户授权,简单理解为访问控制,在用户认证通过后,系统对用户访问资源进行控制,用户具有资源的访问权限方可访问。
二、权限管理解决方案
1什么是粗粒度和细粒度权限
(1)粗粒度权限管理:对资源类型的权限管理。资源类型比如:菜单、url连接、用户添加页面、用户信息、页面中按钮。
粗粒度权限管理比如:
超级管理员可以访问户添加页面、用户信息等全部页面。
部门管理员可以访问用户信息页面包括页面中所有按钮。
(2)细粒度权限管理:对资源实例的权限管理。资源实例就资源类型的具体化。
细粒度权限管理就是数据级别的权限管理。
细粒度权限管理比如:部门经理只可以访问本部门的员工信息,用户只可以看到自己的菜单,大区经理只能查看本辖区的销售订单。
2、如何实现粗粒度和细粒度权限管理
(1)如何实现粗粒度权限管理?
粗粒度权限管理比较容易将权限管理的代码抽取出来在系统架构级别统一处理。比如:通过springmvc的拦截器实现授权。
(2)如何实现细粒度权限管理?
建议细粒度权限管理在业务层去控制(意思是说通过逻辑代码来控制)。
【免责声明】本文系本网编辑部分转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与管理员联系,我们会予以更改或删除相关文章,以保证您的权益!更多内容请加danei0707学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。