This commit is contained in:
2025-06-25 16:11:03 +08:00
parent b48d14a6fb
commit 4186cd0caf
16 changed files with 690 additions and 26 deletions

View File

@@ -7,7 +7,7 @@ import (
"net/http"
"time"
"management/internal/erpserver/model/dto"
"management/internal/erpserver/model/system"
"management/internal/pkg/config"
"github.com/alexedwards/scs/v2"
@@ -19,8 +19,8 @@ var ErrNoSession = errors.New("session user not found")
// Manager 抽象核心会话操作
type Manager interface {
Load(next http.Handler) http.Handler
GetUser(ctx context.Context, key string) (dto.AuthorizeUser, error)
PutUser(ctx context.Context, key string, user dto.AuthorizeUser) error
GetUser(ctx context.Context, key string) (system.AuthorizeUser, error)
PutUser(ctx context.Context, key string, user system.AuthorizeUser) error
RenewToken(ctx context.Context) error
Destroy(ctx context.Context) error
}
@@ -60,20 +60,20 @@ func (s *SCSSession) Load(next http.Handler) http.Handler {
return s.manager.LoadAndSave(next)
}
func (s *SCSSession) GetUser(ctx context.Context, key string) (dto.AuthorizeUser, error) {
func (s *SCSSession) GetUser(ctx context.Context, key string) (system.AuthorizeUser, error) {
data, ok := s.manager.Get(ctx, key).([]byte)
if !ok || len(data) == 0 {
return dto.AuthorizeUser{}, ErrNoSession
return system.AuthorizeUser{}, ErrNoSession
}
var user dto.AuthorizeUser
var user system.AuthorizeUser
if err := json.Unmarshal(data, &user); err != nil {
return dto.AuthorizeUser{}, err
return system.AuthorizeUser{}, err
}
return user, nil
}
func (s *SCSSession) PutUser(ctx context.Context, key string, user dto.AuthorizeUser) error {
func (s *SCSSession) PutUser(ctx context.Context, key string, user system.AuthorizeUser) error {
data, err := json.Marshal(&user)
if err != nil {
return err