123456789101112131415161718192021222324252627282930313233343536373839 |
- package routers
- import (
- "Cold_GoodsOrder/Nats/NatsServer"
- "Cold_GoodsOrder/lib"
- "Cold_GoodsOrder/models/Account"
- "github.com/beego/beego/v2/server/web/context"
- "log"
- "strings"
- )
- func RBACFilter(ctx *context.Context) {
- //过滤/v3/Order/GetDeviceData接口不验证登录
- log.Println(ctx.Request.URL.String())
- if strings.Contains(ctx.Request.URL.String(), "/v3/Order/GetDeviceDataNot") || strings.Contains(ctx.Request.URL.String(), "/Cold_GoodsOrder/v3/Order/Test") {
- return
- }
- b_, User_r, T_pid := NatsServer.Verification(ctx.GetCookie("User_tokey"), ctx.Input.Query("User_tokey"))
- if !b_ {
- ctx.Output.JSON(lib.JSONS{Code: 201, Msg: "请重新登陆!"}, true, false)
- return
- }
- Account.User_r = &User_r
- Account.T_pid = &T_pid
- index := strings.Index(ctx.Request.URL.Path, "/v3")
- if index == -1 {
- data := lib.JSONS{Code: 202, Msg: "无权访问!"}
- ctx.Output.JSON(data, true, false)
- }
- flag := NatsServer.CheckUserPermissions(Account.User_r.T_power, ctx.Request.URL.Path[index:])
- if !flag {
- data := lib.JSONS{Code: 202, Msg: "无权访问!"}
- ctx.Output.JSON(data, true, false)
- return
- }
- }
|