mirror of
https://gitee.com/dromara/mayfly-go
synced 2025-11-04 00:10:25 +08:00
30 lines
574 B
Go
30 lines
574 B
Go
package ctx
|
|
|
|
import (
|
|
"mayfly-go/base/biz"
|
|
)
|
|
|
|
func init() {
|
|
BeforeHandlers = append(BeforeHandlers, new(PermissionHandler))
|
|
}
|
|
|
|
var permissionError = biz.NewBizErrCode(501, "token error")
|
|
|
|
type PermissionHandler struct{}
|
|
|
|
func (p *PermissionHandler) BeforeHandle(rc *ReqCtx) error {
|
|
if !rc.NeedToken {
|
|
return nil
|
|
}
|
|
tokenStr := rc.Req.Header.Get("Authorization")
|
|
if tokenStr == "" {
|
|
return permissionError
|
|
}
|
|
loginAccount, err := ParseToken(tokenStr)
|
|
if err != nil || loginAccount == nil {
|
|
return permissionError
|
|
}
|
|
rc.LoginAccount = loginAccount
|
|
return nil
|
|
}
|