单用户多角色权限管理平台 grbac

码农软件 · 软件分类 · 安全相关框架 · 2019-10-01 23:29:02

软件介绍

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
```

## 说明

+ `希望与大家一起成长,有任何该服务运行或者代码问题,可以及时找我沟通,喜欢开源,热爱开源, 欢迎多交流`   
+ `联系方式:cdh_cjx@163.com`

本文地址:https://codercto.com/soft/d/15842.html

NoSQL精粹

NoSQL精粹

[美]Pramod J. Sadalage、[美]Martin Fowler / 爱飞翔 / 机械工业出版社 / 2013-8 / 49.00元

《NoSQL精粹》为考虑是否可以使用和如何使用NoSQL数据库的企业提供了可靠的决策依据。它由世界级软件开发大师和软件开发“教父”Martin Fowler与Jolt生产效率大奖图书作者Pramod J. Sadalage共同撰写。书中全方位比较了关系型数据库与NoSQL数据库的异同;分别以Riak、MongoDB、Cassandra和Neo4J为代表,详细讲解了键值数据库、文档数据库、列族数据库......一起来看看 《NoSQL精粹》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具