# gform-adapter **Repository Path**: wxkj/gform-adapter ## Basic Information - **Project Name**: gform-adapter - **Description**: No description available - **Primary Language**: Go - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 0 - **Created**: 2019-03-28 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # gform-adapter #### 安装 ``` go get gitee.com/wxkj/gform-adapter ``` ####使用 [casbin在线编辑](https://casbin.org/editor/) [casbin文档](https://casbin.org/zh-CN/) [goframe文档](https://goframe.org) #####golang代码 ```go package main import ( "gitee.com/wxkj/gform-adapter" "github.com/casbin/casbin" "github.com/gogf/gf/g" "github.com/gogf/gf/g/net/ghttp" "github.com/gogf/gf/g/os/glog" ) func main() { s := g.Server() //NewAdapter("数据库类型") Adapter:=gfadapter.NewAdapter("mysql") //rbac_model.conf使用的 RESTful (KeyMatch) e := casbin.NewEnforcer("./config/rbac_model.conf", Adapter) s.BindHookHandlerByMap("/*", map[string]ghttp.HandlerFunc{ ghttp.HOOK_BEFORE_SERVE : func(r *ghttp.Request){ //Enforce("v0","v1","v2") IsE:=e.Enforce("wxkj",r.URL.String(),r.Method) if IsE==false{ //自定义业务 glog.Error("错误处理") r.ExitAll() } }, }) s.BindHandler("/api/index", func(r *ghttp.Request) { r.Response.Write("哈喽世界!") }) s.SetPort(8100) _=s.Run() } ``` #####数据库 ```sql CREATE TABLE casbin_rule ( p_type varchar(255), v0 varchar(255), v1 varchar(255), v2 varchar(255), v3 varchar(255), v4 varchar(255), v5 varchar(255) ) ``` | p_type | v0 | v1 | v2 | v3 | v4 | v5 | |---------|----|----|----|----|----|----| | p | wxkj|/api/index|GET||||