| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 大数据 -> gin框架下casbin权限系统ACL授权验证模型入门示例讲解 -> 正文阅读 |
|
[大数据]gin框架下casbin权限系统ACL授权验证模型入门示例讲解 |
1.概述Casbin是一个强大的、高效的开源访问控制框架,其权限管理机制支持多种访问控制模型。 2.安装
3.项目目录
工作原理介绍: 导入cosbin包后,主要的文件有模型文件casbin_rbac_model.conf ,权限策略文件Policy.csv(存放权限策略,也可以用mysql代替),在需要判断用户有没有权限能访问的地方,使用Enforce()这个函数就会返回用户能否访问,就这么简单。 4、模型文件(Model.conf),具体语法可以参考官方教程?Model语法
参数详解: 这是一个模型文件,里面定义的都是自定义的参数,只要统一命名就可以了。具体如下: 第一项:请求
这里的? ?r = sub,obj,act? ?,定义以变量 r 作为请求对象,后面的sub,obj,act这三项是权限控制的维度。以一个普通会员权限管理系统而言,一般第一个sub指代表访问者的标志(如会员ID,会员帐号或会员角色等)(只是一个变量而已,但要和后面的其它项对应使用),第二个obj指访问的URL(如),第三项act为方法(这是每一个URL页面以方法方式再细分的权限单元)。当然还可以有第四参数,第五参数。。。。。。 第二项:策略
这个策略是和请求一一对应的,因为控制请求权限,就需要这个策略做比对,所以参数名字尽量与请求保持一致,以更容易理解。 第三项:策略效果,这个是以第四项为基础的,
第四项,匹配器:
这个是以第二项为基础对第一项进行判断的逻辑。 所以这个模型文件(Model.conf)也可以写为:
5、策略文件Policy.csv,这相当于一个数库文件,也可以用MYSQL代替,此文暂不介绍。
这里的数据是以第一个文件里(Model.conf)里的第二项格式进行设置, ?6、Enforce(sub, obj, act)验证权限, 因为casbin是不包含会员系统的,所以这里无法通过登陆动态获取会员号。先引入casbin包,这里直接测试admin用户是否具有URL为/tt页面里read方法以权限,则直接用 Enforce(e, "admin", "/tt", "read") 完整的测试文件如下:
启动服务器后,访问
控制台输出如下: |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 12:52:46- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |