123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- package interceptor
- import (
- "github.com/xinliangnote/go-gin-api/internal/pkg/core"
- "github.com/xinliangnote/go-gin-api/internal/proposal"
- "github.com/xinliangnote/go-gin-api/internal/repository/mysql"
- "github.com/xinliangnote/go-gin-api/internal/repository/redis"
- "github.com/xinliangnote/go-gin-api/internal/services/admin"
- "github.com/xinliangnote/go-gin-api/internal/services/authorized"
- "go.uber.org/zap"
- )
- var _ Interceptor = (*interceptor)(nil)
- type Interceptor interface {
- // CheckLogin 验证是否登录
- CheckLogin(ctx core.Context) (info proposal.SessionUserInfo, err core.BusinessError)
- // CheckRBAC 验证 RBAC 权限是否合法
- CheckRBAC() core.HandlerFunc
- // CheckSignature 验证签名是否合法,对用签名算法 pkg/signature
- CheckSignature() core.HandlerFunc
- // i 为了避免被其他包实现
- i()
- }
- type interceptor struct {
- logger *zap.Logger
- cache redis.Repo
- db mysql.Repo
- authorizedService authorized.Service
- adminService admin.Service
- }
- func New(logger *zap.Logger, cache redis.Repo, db mysql.Repo) Interceptor {
- return &interceptor{
- logger: logger,
- cache: cache,
- db: db,
- authorizedService: authorized.New(db, cache),
- adminService: admin.New(db, cache),
- }
- }
- func (i *interceptor) i() {}
|