gva提示权限不足的解决办法

warning: 这篇文章距离上次修改已过231天,其中的内容可能已经有所变动。

gva(gin-vue-admin)使用的是casbin来做权限控制,对于手工新增的api,非常容易出现权限不足的情况。解决的方法:

  1. 要检查api管理有没对应的api,url及相关请求参数是否有问题。
  2. 要在角色管理中相应的角色---api勾选对应的接口
  3. 实在不行再检查数据库中casbin_rule表是否对应的规则

这里再给个手工创建api的步骤:

  1. 在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
        }
        //////...
    }
  2. 在router包里配置路由:

    client_infoRouter.PUT("upgradeClient", client_infoApi.UpgradeClient)  
  3. 在后台api管理中添加对应的接口信息
    ==这里有个小问题,如果反复测试都不生效,就要在这个界面上点刷新缓存==
  4. 在角色管理中添加对应角色的api权限
  5. 前端添加对应的接口(如有前端渲染需求)

个人感觉gva框架有点乱,项目复杂点更乱了,文件要跳来跳去。

评论已关闭