crm---本项目的权限控制模式
一:url权限: 最底层的权限控制,,缺点在与没有预判的机制,造成客户体验下降.
前提: 为controller中的每一个方法(即资源)定义一个资源(Resource)名称,,该资源名称对应一个权限(Permission),两者为一对一的关系.
权限的表与表的关联关系分析: 而每一个Permission由分别可以对应多个Role(角色),即Role与Permission为多对多的关系.
再进一步,为每一个系统的用户分配多个Role,即Role与User之间为为多对多的关系.
权限拦截过程分析:在权限拦截的拦截器中,在登录验证之后,在对当前要访问的资源进行验证,如果当前访问的资源不在权限验证列表中,则直接放行不进行验证了.
反之,如果当前访问的资源在权限列表中,则需要对当前要访问的资源进行权限验证.首先,获取用户的所有权限,对其进行遍历,并与当前要访问的资源进行
比对,如果相等则放行,否则重定向到没有权限的json数据源.
二:模块按钮权限: 第二级权限控制,增强用户体验.
权限拦截过程分析:在某些功能按钮上增加预判的功能,在list的jsp页面上使用jtsl的c标签从作用域中获取用户的相关权限信息, 并与当前功能所对应的权限名称比较,如果用户包含当前功能按钮所需的权限,则显示该按钮,否则隐藏该按钮.
三:系统菜单权限: 第三级权限控制,对不同权限的用户显示不同的系统菜单选项.
权限拦截过程分析:为每一个需要权限的菜单定义一个权限名称,该名称为定位到该菜单功能页面的方法,即/list资源对应的方法,
这样,在用户登录后,遍历所有的菜单选项,查询出需要权限验证的菜单项,以及其对应的全乡名称,然后逐个与用户的权限列表比对,如果包含则ok,如果
用户权限列表中不包括该菜单的权限,则将该菜单项对象从当前的菜单项集合中移除,从而在前台页面不再显示,最终达到为不同权限的用户显示不同
的系统菜单列表的功能.
转载于:https://www.cnblogs.com/tabchanj/p/5723070.html
crm---本项目的权限控制模式相关推荐
- SpringBoot(一) 如何实现AOP的权限控制
Spring AOP是什么 最近负责开发一款内部人员使用的日志管理项目.其中涉及到了人员权限的校验问题.于是想到了用spring AOP的思路去实现,避免每次需要手动去添加代码校验. Spring A ...
- 天鸟技术中台-建设过程-日常经验2:通用参数和数据权限控制
技术中台,服务于 无数个 独立的项目. 每个项目,单独对应1个App和appId. 查询和创建等接口,必须提供appId,区分是哪个app的数据. 而技术中台的平台管理端,是管理所有的数据,appId ...
- [WCF权限控制]利用WCF自定义授权模式提供当前Principal[实例篇]
在<原理篇>中我们谈到:如果采用自定义安全主体权限模式,我们可以通过自定义AuthorizationPolicy或者ServiceAuthorizationManager实现对基于当前认证 ...
- [WCF权限控制]利用WCF自定义授权模式提供当前Principal[原理篇]
在<通过扩展自行实现服务授权>一文中,我通过自定义CallContextInitializer的方式在操作方法之前之前根据认证用户设置了当前线程的安全主体,从而实现授权的目的.实际上,WC ...
- gin-jwt对API进行权限控制
前言 之前文章简单介绍了如何运行gin+vue的前后端分离开源项目,该项目是学习了Gin实践教程后结合vue-element-admin写的,该教程讲得很详细,适合入门Gin.本篇文章将介绍gin+v ...
- SQL Server使用视图做权限控制
问题引入 这天老鸟火急火燎的跑到菜鸟旁边,想必是遇到什么难题了:"现在有这么一个场景,假如有三种角色,并且存在层级关系,他们需要访问同一个数据源表,但是需要做权限控制,使得每种角色只能看到自 ...
- ASP.NET Core 实战:基于 Jwt Token 的权限控制全揭露
一.前言 在涉及到后端项目的开发中,如何实现对于用户权限的管控是需要我们首先考虑的,在实际开发过程中,我们可能会运用一些已经成熟的解决方案帮助我们实现这一功能,而在 Grapefruit.VuCore ...
- ssas表格模型 权限控制_创建第一个SSAS表格模型数据库
ssas表格模型 权限控制 Considering BI environment, when comparing Multidimensional Vs Tabular model databases ...
- Springboot + Spring Security 实现前后端分离登录认证及权限控制
Spring Security简介 Spring Security 是 Spring 家族中的一个安全管理框架,实际上,在 Spring Boot 出现之前,Spring Security 就已经发展 ...
最新文章
- 第25章 Pytorch 如何高效使用GPU
- JavaScript作用域闭包简述
- Dusktree System (1)
- 人工智能 ppt_【138期】厉害了!人工智能高清大图+PPT模板全集系列!
- 诛仙服务器显示横线,诛仙手游聊天颜色字体代码发送带颜色的字
- 【渝粤教育】国家开放大学2018年秋季 1049t金融法规 参考试题
- 关于移动端页面强制竖屏
- 漫步数理统计九——离散随机变量
- 安装docker-machine
- PGM:图模型学习概述
- Android开源项目推荐之「图片加载到底哪家强」
- bdm导入mysql_MySQL数据库导入教程
- 全球(全国)土地利用数据集获取大全/植被类型分布/NDVI数据/NPP数据/径流量数据/降雨量气温气象数据/蒸散量数据/太阳辐射数据
- Python爬虫16-Scrapy爬取阳光政务平台信息
- Mac ssh远程登录腾讯云的解决方案
- 中国为什么要买美国国债
- linux大于3T硬盘多个分区,linux之Ubuntu挂载3T硬盘或大于2T磁盘
- windows程序设计相关思想
- 分享我的公众号留言功能迁移成功的故事
- 用计算机弹出黑人才关的声音,计算机突然变黑,风扇发出很大的声音?