【HZERO】权限管理
Hzero数据权限介绍
https://open.hand-china.com/community/detail/625872021372407808#3.4 开发建议
Permission注解属性介绍
Hzero的整体权限风格都是遵循RBAC,包括接口的权限也是遵循RBAC风格,因此在Hzero项目中提供了一个猪齿鱼的注解@Permission对接口权限进行权限注册的操作,该注解可以指定接口API的层级,访问类型等(登录即可访问,公开接口,需分配权限)。
| 参数名 | 说明 |
|---|---|
| level | 接口层级,ResourceLevel.SITE和ResourceLevel.ORGANIZATION两种 |
| permissionLogin | 登陆后即可拥有的权限,default false |
| permissionPublic | 公共权限,不需要登录即可访问,default false |
| permissionWithin | 是否只允许内部调用, default false |
| code | 权限编码,默认取方法名 |
| tags | 权限标签 |
API权限类别



属性简介
Level:
其中在Hzero项目中,我们通常用到的API层级分为两种,即SITE层级和ORGANIZATION层级,分别对应平台级和租户级的接口。开发者可根据自身接口的要求判断其需要设置为哪一个层级的,然后进行层级设置。
permissionLogin:
此属性的作用为设置该接口的访问权限是否为登录即可访问,设置值为true/false,此类接口一般应用在无需进行角色权限控制的接口上,比如查询导航栏、公告、个人中心信息等等。此类接口在网关服务里进行鉴权过滤的过程中,只要识别调用该接口的用户已登录则鉴权通过允许访问。
permissionPublic:
此属性的作用为设置该接口的访问权限是否为公开权限即可随意调用。设置值为true/false,此类接口一般应用于用户登录,发送验证码等等的接口,注意,此类型的接口无法获取用户信息,也就是说在此类型接口下是无法获取到相关的用户信息的,因此,请结合接口方案设计,谨慎使用该接口,避免出现用户数据缺失的情况。
permissionWithin:
此属性的作用为设置该接口的访问权限是否为内部访问,设置值为true/false,如果设置了该属性为true的话,那么此接口就只能被其它服务通过feign或者ribbon进行调用,而无法被外部系统进行调用,如果外部系统调用此类型接口的话,在网关服务鉴权过程中会鉴权失败并返回状态码:PERMISSION_WITH_IN
权限层级的使用
SITE级别

ORGANIZATION级别

基础服务调用链路


【HZERO】权限管理的更多相关文章
- Android权限管理之RxPermission解决Android 6.0 适配问题
前言: 上篇重点学习了Android 6.0的运行时权限,今天还是围绕着Android 6.0权限适配来总结学习,这里主要介绍一下我们公司解决Android 6.0权限适配的方案:RxJava+RxP ...
- Android权限管理之Android 6.0运行时权限及解决办法
前言: 今天还是围绕着最近面试的一个热门话题Android 6.0权限适配来总结学习,其实Android 6.0权限适配我们公司是在今年5月份才开始做,算是比较晚的吧,不过现在Android 6.0以 ...
- Android权限管理之Permission权限机制及使用
前言: 最近突然喜欢上一句诗:"宠辱不惊,看庭前花开花落:去留无意,望天空云卷云舒." 哈哈~,这个和今天的主题无关,最近只要不学习总觉得生活中少了点什么,所以想着围绕着最近面试过 ...
- SpringMVC+Shiro权限管理【转】
1.权限的简单描述 2.实例表结构及内容及POJO 3.Shiro-pom.xml 4.Shiro-web.xml 5.Shiro-MyShiro-权限认证,登录认证层 6.Shiro-applica ...
- Android6.0运行时权限管理
自从Android6.0发布以来,在权限上做出了很大的变动,不再是之前的只要在manifest设置就可以任意获取权限,而是更加的注重用户的隐私和体验,不会再强迫用户因拒绝不该拥有的权限而导致的无法安装 ...
- Oracle 表空间和用户权限管理
一. 表空间 Oracle数据库包含逻辑结构和物理结构. 数据库的物理结构指的是构成数据库的一组操作系统文件. 数据库的逻辑结构是指描述数据组织方式的一组逻辑概念以及它们之间的关系. 表空间是数据库逻 ...
- [Django]用户权限学习系列之权限管理界面实现
本系列前三章: http://www.cnblogs.com/CQ-LQJ/p/5604331.htmlPermission权限基本操作指令 http://www.cnblogs.com/CQ-LQJ ...
- [Django]用户权限学习系列之设计自有权限管理系统设计思路
若在阅读本片文章遇到权限操作问题,请查看本系列的前两章! http://www.cnblogs.com/CQ-LQJ/p/5609690.html和http://www.cnblogs.com/CQ- ...
- 我的MYSQL学习心得(十三) 权限管理
我的MYSQL学习心得(十三) 权限管理 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) ...
- 基于DDDLite的权限管理OpenAuth.net 1.0版正式发布
距离上一篇OpenAuth.net的文章已经有5个多月了,在这段时间里项目得到了很多朋友的认可,开源中国上面的Star数接近300,于是坚定了我做下去的信心.最近稍微清闲点,正式推出1.0版,并在阿里 ...
随机推荐
- null 不好,我真的推荐你使用 Optional
"Null 很糟糕." - Doug Lea. Doug Lea 是一位美国的计算机科学家,他是 Java 平台的并发和集合框架的主要设计者之一.他在 2014 年的一篇文章中说过 ...
- ruoyi vue 前后端分离版本 打包分离jar包至lib
环境:若依前后端分离版本,原打包时将所有的依赖jar包放至ruoyi-admin.jar 包中,该包130MB,过大. 需求:为了减少打包更新上传的时间,减少至1.1mb 1.将不常更新的模块jar包 ...
- 基于win11的Emby、Playnite搭建家庭影音娱乐方案
0. 概述 0.1 Emby效果 0.2 playnite效果 0.3 软件清单及教程 流媒体:Emby (分Server端.安卓端.安卓TV端.iOS端,PC最好使用网页端) 电影/电视剧/动画:找 ...
- Socket是什么/怎么理解Socket
Socket 先来看一下百度百科对于Socket的介绍:套接字(socket)是一个抽象层,应用程序可以通过它发送或接收数据,可对其进行像对文件一样的打开.读写和关闭等操作.套接字允许应用程序将I/O ...
- 基于Raft算法的DLedger-Library分析
1 背景 在分布式系统应用中,高可用.一致性是经常面临的问题,针对不同的应用场景,我们会选择不同的架构方式,比如master-slave.基于ZooKeeper选主.随着时间的推移,出现了基于Raft ...
- Cocos-JS HTTP网络请求
网络结构 网络结构是网络构建方式,目前流行的有客户端服务器结构(C/S结构)和点对点(P2P)结构网络. 客户端服务器结构(C/S结构) 这种结构又被称为Clicent/Server结构,它是一种主从 ...
- 关于 K8s 的一些基础概念整理
〇.前言 Kubernetes,将中间八个字母用数字 8 替换掉简称 k8s,是一个开源的容器集群管理系统,由谷歌开发并维护.它为跨主机的容器化应用提供资源调度.服务发现.高可用管理和弹性伸缩等功能. ...
- Java 并发编程(七)线程池
任务的创建与执行 在多线程的编程环境中,理想的情况是每个任务之间都存在理想的边界,各个任务之间相互独立,这样才能够享受到并发带来的明显的性能提升,并且,由于每个任务之间如果都是独立的,对于并发的处理也 ...
- certbot申请泛域名证书并自动续签保姆级教程
certbot申请泛域名证书并自动续签(使用docker进行部署) 一.涉及到的资源及文档 1.云解析 - OpenAPI 概览:https://next.api.aliyun.com/documen ...
- 春眠不觉晓,Java数据类型知多少?基础牢不牢看完本文就有数了
文编|JavaBuild 哈喽,大家好呀!我是JavaBuild,以后可以喊我鸟哥!俺滴座右铭是不在沉默中爆发,就在沉默中灭亡,一起加油学习,珍惜现在来之不易的学习时光吧,等工作之后,你就会发现,想学 ...