美文网首页IT技术篇Web前端之路终端研发部
权限设计(下) - 细说权限设计

权限设计(下) - 细说权限设计

作者: 风间影月 | 来源:发表于2017-10-30 10:52 被阅读67次

什么是权限管理
一般来说,只要有用户参与的系统,那么都要有权限管理,尤其是一些后台的管理系统,
权限管理可以实现对用户访问系统的控制,按照安全规则或者相关策略的控制,可以使用户访问到只属于自己被授权的相关(比如菜单,或者页面资源)
权限管理包括用户认证和授权两模块
用户认证
用户认证,说白了就是登录的时候进行的验证,验证用户身份合法性。
最常见的用户身份验证的方式:
1、用户名 + 密码
2、手机号 + 验证码
3、证书验证
来看一下流程图:

用户授权
用户授权,浅白点讲就是权限访问控制,在用户认证通过后,系统对用户访问资源进行控制,用户具有资源的访问权限方可访问对于的资源

数据库模型
上篇文章中讲到了5张表,其实是由6张表而来,但是由于第六章表资源是可以整合的,所以可以避免冗余而采用了5张表,最简单的权限控制是至少由5张表来构成的
主体(账号、密码)
权限(权限名称、资源名称、资源访问地址)
角色(角色名称)
角色和权限关系(角色id、权限id)
主体和角色关系(主体id、角色id)

分配权限
用户需要被分配到相应的权限才可访问相应的资源,这些权限信息需要保存
把用户信息、权限管理、用户分配的权限信息写到数据库(权限数据模型)

基于角色的访问控制
就是判断用户是否是项目经理还是普通员工,访问的资源就不同
比如
if (user.role = [pm]) {
// 访问
}
if (user.role != [pm]) {
// 访问
}
这么做没问题,但是不容易维护,一旦权限变更,那么就要变更代码
基于资源的访问控制
if (user have [pm]) {
// 访问
} else if (user have [boss]) {
// 访问
}
这么做只要针对user配置权限,把对应的资源给他,那么就能访问,不需要每次修改代码,增加了可维护性

基于url拦截的方式实现
举个栗子:使用springMVC拦截器实现
拦截对应url,url配置一个私有拦截list,拦截到的list必须进行验证,
进入拦截器验证后查看是否存在token信息,如果不存在,拦截返回到web登录页面,或者json错误信息给手机端
同时验证的时候针对资源,需要判断是否能够访问,可以第一次查询数据库的资源信息缓存到session或者redis中
使用权限管理框架实现
1、spring security (目前连spring自己都抛弃了这个框架,因为太重了,现在拥抱了Apache Shiro)
2、Shiro (to be continued...)

尚自习 | 程序员的进阶平台 itzixi.com

微信公众号:BeJavaGod

Java技术交流群

相关文章

  • 权限设计(下) - 细说权限设计

    什么是权限管理一般来说,只要有用户参与的系统,那么都要有权限管理,尤其是一些后台的管理系统,权限管理可以实现对用户...

  • 数据库 权限设计

    数据库 权限设计 -系统权限管理设计-通用权限管理设计 之 数据库结构设计 权限 用户 角色 组 用户表

  • JavaWeb权限设计原理

    每个系统都有权限设计,本篇主要将初始的权限设计的原理,不依赖任何框架,以直观的角度剖析web的权限设计。 权限设计...

  • 权限系统设计方案

    1权限模型 1.1 权限设计 从业务分类上来讲权限可以分为数据查看权限,数据修改权限等,对应到系统设计中有页面权限...

  • 2、用户权限管理,数据库表设计

    一、权限设计 网上资料说权限设计 = 功能权限 + 数据权限,我认为还是很有道理的。之前项目中只涉及到功能权限,没...

  • 权限设计合集

    1.《数据权限设计思路_权限设计数据权限》摘要:方案一:按照岗位体系建立数据权限方案二:针对角色设置数据权限方案三...

  • 产品 | 权限设计=功能权限+数据权限

    权限设计=功能权限+数据权限 权限管理 Authority Management 目前主要是通过用户、角色、资源三...

  • 缓存知识

    权限系统是管理类系统中必不可少的一个模块,一个好的缓存设计更是权限系统的重中之重,今天来聊下如何更好设计权限系统的...

  • 模型设计

    一、模型整体设计 二、模型说明 该设计参考现在比较通用的权限管理设计模式,权限管理模型包括 2.1 用户表 ...

  • 设计案例之通用权限管理设计数据权限

    本文将对这种设计思想作进一步的扩展,介绍数据权限的设计方案。 权限控制可以理解,分为这几种 : 【功能权限】:能做...

网友评论

本文标题:权限设计(下) - 细说权限设计

本文链接:https://www.haomeiwen.com/subject/utrppxtx.html