grbac 介绍
Go语言版本的权限管理服务平台, 利用shiro权限管理设计思想, 支持单用户多角色,可以具体到对某一个资源进行权限控制,比RBAC的资源管理更细粒度化.
# 权限管理服务平台 该服务采用比较流行的微服务思想, 利用[**shiro**](http://shiro.apache.org/)思想,实现权限管理平台服务, 它支持**单用户多角色** , 比RBAC的资源管理更细粒度化 权限管理服务平台的实现,主要由三个步骤构成: + 第一步:判断URL是否在白名单中,如果是,直接返回状态码:200 + 第二步:解析URL,获取功能ID和实体ID,服务初始化阶段,会构建多叉树 + 第三步:获取, 并在redis中采用SET集合存储## 权限管理库表设计 [权限管理库表](table.md) ## 环境依赖 + [beego框架](https://beego.me/) + [redis](https://redis.io/) ## OpenResty配置 权限管理安插在Nginx Access访问阶段,对http请求的合法性进行校验 access_by_lua_file "/data/openresty/lua_files/test_ycfm_lua_files/access_by_grbac.lua" ```lua -- GRBAC权限管理模块 ngx.req.read_body() local bodyData = ngx.req.get_body_data() ngx.log(ngx.ERR, "body data:", bodyData) local cjson = require "cjson" local info={ ["body"] = bodyData, ["method"] = ngx.req.get_method(), ["uri"] = ngx.var.uri, } local encode = cjson.encode(info) local res = ngx.location.capture('/v1/grbac/functions/tree_parsing', {method=ngx.HTTP_POST, body=encode}) if res.status == 403 then ngx.exit(ngx.HTTP_FORBIDDEN) end ``` ## 说明 + `希望与大家一起成长,有任何该服务运行或者代码问题,可以及时找我沟通,喜欢开源,热爱开源, 欢迎多交流` + `联系方式:[email protected]`
grbac 官网
https://github.com/1046102779/grbac
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。