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框架有点乱,项目复杂点更乱了,文件要跳来跳去。