权限验证
路由添加LoginAuth中间件,可实现登录验证,
路由添加TokenAuth中间件,可实现登录、菜单授权验证, 权限标识由接口路径确定,例如:/api/admin/user,标识位为admin:user
go
// 表示该路由下的所有接口都需要登录
r := rg.Group("/", middleware.LoginAuth())
// 表示该路由下的所有接口都需要登录、菜单授权
r := rg.Group("/", middleware.TokenAuth())对于路由组下不需要验证的路由
- 调整路由顺序,白名单路由在验证路由之前
server/config/admin.go添加白名单
go
// 免登录验证
NotLoginUri: []string{
// "admin:system:login", // 登录接口
// "admin:common:index:config", // 配置接口
},
// 免接口权限验证
NotAuthUri: []string{
// "admin:system:logout", // 退出登录
// "admin:system:menu:menus", // 系统菜单
// "admin:system:menu:route", // 菜单路由
// "admin:system:admin:upInfo", // 管理员更新
// "admin:system:admin:self", // 管理员信息
// "admin:system:role:all", // 所有角色
// "admin:system:post:all", // 所有岗位
// "admin:system:dept:list", // 所有部门
// "admin:setting:dict:type:all", // 所有字典类型
// "admin:setting:dict:data:all", // 所有字典数据
},