github.com/aacfactory/fns@v1.2.86-0.20240310083819-80d667fc0a17/docs/permissions_zh.md (about) 1 # 配置 2 3 --- 4 5 RBAC的权限模式。 6 简单的说,哪些角色可以访问函数,当然也支持哪些角色可以读写哪些资源。 7 8 9 ## 组件 10 ### 存储器 11 `Postgres` 和 `MYSQL` 由 `fns-contrib`提供, 阅读 [doc](https://github.com/aacfactory/fns-contrib/tree/main/permissions/store) 获取更多信息。 12 13 ## 接口 14 ### 策略 15 验证 16 ```go 17 verifyErr := permissions.Verify(ctx, roles...) 18 ``` 19 用户绑定角色 20 ```go 21 bindErr := permissions.UserBindRoles(ctx, userId, roles...) 22 ``` 23 用户解绑角色 24 ```go 25 bindErr := permissions.UserUnbindRoles(ctx, userId, roles...) 26 ``` 27 获取用户的角色 28 ```go 29 roles, getErr := permissions.GetUserRoles(ctx, userId) 30 ``` 31 请求上下文中的用户是否可以读资源 32 ```go 33 ok, err := CanReadResource(ctx, resource) 34 ``` 35 请求上下文中的用户是否可以写资源 36 ```go 37 ok, err := CanWriteResource(ctx, resource) 38 ``` 39 ### 模型 40 获取所有角色树 41 ```go 42 roles, getErr := permissions.GetRoles(ctx) 43 ``` 44 获取上下文中用户的指定角色树。 45 ```go 46 role, getErr := permissions.GetRole(ctx, name) 47 ``` 48 保存角色,不会对其子节点角色进行保存。 49 ```go 50 saveErr := permissions.SaveRole(ctx, role) 51 ```