gva(gin-vue-admin)使用的是casbin来做权限控制,对于手工新增的api,非常容易出现权限不足
的情况。解决的方法:
要检查api管理有没对应的api,url及相关请求参数是否有问题。
要在角色管理中相应的角色---api勾选对应的接口
实在不行再检查数据库中casbin_rule表是否对应的规则
这里再给个手工创建api的步骤:
在api包里对应的服务模块写好接口实现,比如:
// 升级客户端 // @Router /client_info/UpgradeClient [put] func (client_infoApi *ClientInfoApi) UpgradeClient(c *gin.Context) { var client_info screenxx.ClientInfo err := c.ShouldBindJSON(&client_info) if err != nil { response.FailWithMessage(err.Error(), c) return } //////... }
在router包里配置路由:
client_infoRouter.PUT("upgradeClient", client_infoApi.UpgradeClient)
在后台api管理中添加对应的接口信息
==这里有个小问题,如果反复测试都不生效,就要在这个界面上点刷新缓存==
在角色管理中添加对应角色的api权限
前端添加对应的接口(如有前端渲染需求)
个人感觉gva框架有点乱,项目复杂点更乱了,文件要跳来跳去。