- 授权协议: GPL
- 开发语言: Google Go
- 操作系统: 跨平台
- 软件首页: https://github.com/1046102779/grbac
- 软件文档: https://github.com/1046102779/grbac/blob/master/README.md
软件介绍
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`
Modern PHP(中文版)
Josh Lockhart / 安道 / 中国电力出版社 / 2015-9 / 39
PHP正在重生,不过所有PHP在线教程都过时了,很难体现这一点。通过这本实用的指南,你会发现,借助面向对象、命名空间和不断增多的可重用的组件库,PHP已经成为一门功能完善的成熟语言。 本书作者Josh Lockhart是“PHP之道”的发起人,这是个受欢迎的新方案,鼓励开发者使用PHP最佳实践。Josh通过实践揭示了PHP语言的这些新特性。你会学到关于应用架构、规划、数据库、安全、测试、调试......一起来看看 《Modern PHP(中文版)》 这本书的介绍吧!
