GoframePro框架如何限制单个或多个接口RBAC权限验证

在项目开发时如果整个模块需要RBAC权限验证,但是有一两个不需,例如管理后台登录接口不需要token,其他接口获取数据前需要验证是否已经登录,则需要验证token。

忽略请求方法:

在api文件写接口的Req结构体时g.Meta添加noAuth:"1"属性即可忽略登录验证也就是RBAC权限验证,实例代码如下:

Go 复制代码
g.Meta `path:"/user/login" noAuth:"1" tags:"Login" method:"post" summary:"登录"`

实战代码:

Go 复制代码
package user

import (
	"goframepro/utility/gf"

	"github.com/gogf/gf/v2/frame/g"
)

type LoginReq struct {
	g.Meta `path:"/user/login" noLogin:"1" noAuth:"1" tags:"Login" method:"post" summary:"登录"`
	Username string `p:"username" d:""` // 用户名
	Password string `p:"password" d:""` // 密码
	Codeid   string `p:"codeid" `       // 数字验证码ID
	Captcha  string `p:"captcha" `      // 图片验证码
	Mobile   string `p:"mobile" d:"" dc:"手机号"`
	Email    string `p:"email" d:"" dc:"邮箱"`
}

type LoginRes struct {
	*gf.R
}

了解更多使用技巧可以到社区:https://goflys.cn/goframepro深入查看。