GO 权限管理之 Casbin
gjsonjson
jsongjsongjsongjsongjsonjson 行gjsongjson
gjson
Casbin
权限管理是什么?
一般指根据系统设置的安全规则或者安全策略
用户可以访问而且只能访问自己被授权的资源,不多不少刚刚好
权限管理几乎出现在任何系统里面
用户身份认证密码加密系统管理
- 用户身份认证
不属于权限管理范畴
用户身份认证指的是通过某种凭证来证明自己的身份,例如账号密码,指纹,人脸识别等等
- 系统管理
是系统中的一个模块,该模块一般还含有权限管理子模块 , 该模块相当于给权限管理模块提供了一些数据
- 密码加密
也是不属于权限管理范畴 , 他只是用户身份认证领域的一个部分
Casbin 是个啥?
casbin
RBACABACACL
casbincasbin
咱们来看看 Casbin 有啥特性
{subject, object, action}
我们也可以自定义,同时他支持允许授权和拒绝授权
RBAC
rootadministrator
- 支持多个内置运算符规则匹配
hello/worldhello*模式
- 不支持身份验证
- 不支持管理用户或角色列表
Casbin
CasbinPERM
- 策略
- 效果
- 请求
- 匹配器
ACLCONF
ACL
咱们来写一个DEMO
main.gogincasbinrbac_models.conf
/api/v1/hello
xd.NewAdapter
"github.com/casbin/xorm-adapter"adapter.go
casbin.NewEnforcer
"github.com/casbin/casbin"enforcer.go
NewEnforcerenforcer
上述代码,大家感兴趣的话,可以将代码贴到自己的环境中
postmanmysql
gin拦截器
总结
- 分享了权限管理是什么
- Casbin 是什么
- Casbin 的特性
- Casbin 的应用案例
欢迎点赞,关注,收藏
朋友们,你的支持和鼓励,是我坚持分享,提高质量的动力
好了,本次就到这里,下一次 工作中后端是如何将API提供出去的?swaggo很不错
技术是开放的,我们的心态,更应是开放的。拥抱变化,向阳而生,努力向前行。
我是小魔童哪吒,欢迎点赞关注收藏,下次见~