gorm wire
This commit is contained in:
@@ -29,5 +29,5 @@ func (m *middleware) writeLog(req *http.Request, start time.Time) {
|
||||
c, cancel := context.WithTimeout(context.Background(), time.Second*3)
|
||||
defer cancel()
|
||||
|
||||
_ = m.auditLogsvc.Create(c, al)
|
||||
_ = m.auditLogService.Create(c, al)
|
||||
}
|
||||
|
||||
@@ -28,21 +28,14 @@ func (m *middleware) Authorize(next http.Handler) http.Handler {
|
||||
return
|
||||
}
|
||||
|
||||
if user == nil {
|
||||
http.Error(w, "user not found", http.StatusUnauthorized)
|
||||
return
|
||||
}
|
||||
|
||||
// 登陆成功 判断权限
|
||||
|
||||
// 默认权限判断
|
||||
path := r.URL.Path
|
||||
if b, ok := defaultMenus[path]; ok && b {
|
||||
next.ServeHTTP(w, r)
|
||||
return
|
||||
}
|
||||
|
||||
menus, err := m.menusvc.ListByRoleIDToMap(ctx, user.RoleID)
|
||||
menus, err := m.menuService.ListByRoleIDToMap(ctx, user.RoleID)
|
||||
if err != nil {
|
||||
http.Error(w, err.Error(), http.StatusInternalServerError)
|
||||
return
|
||||
@@ -63,10 +56,9 @@ func (m *middleware) isLogin(ctx context.Context) (*dto.AuthorizeUser, bool) {
|
||||
if exists := m.session.Exists(ctx, know.StoreName); exists {
|
||||
b := m.session.GetBytes(ctx, know.StoreName)
|
||||
var user dto.AuthorizeUser
|
||||
if err := json.Unmarshal(b, &user); err != nil {
|
||||
return nil, false
|
||||
if err := json.Unmarshal(b, &user); err == nil && user.ID > 0 {
|
||||
return &user, true
|
||||
}
|
||||
return &user, true
|
||||
}
|
||||
|
||||
return nil, false
|
||||
@@ -84,7 +76,7 @@ func (m *middleware) AuthUser(ctx context.Context) dto.AuthorizeUser {
|
||||
func (m *middleware) IsAuth(ctx context.Context) bool {
|
||||
var user dto.AuthorizeUser
|
||||
b := m.session.GetBytes(ctx, know.StoreName)
|
||||
if err := json.Unmarshal(b, &user); err == nil {
|
||||
if err := json.Unmarshal(b, &user); err == nil && user.ID > 0 {
|
||||
return true
|
||||
}
|
||||
return false
|
||||
|
||||
@@ -21,17 +21,15 @@ type Middleware interface {
|
||||
}
|
||||
|
||||
type middleware struct {
|
||||
session session.Session
|
||||
menusvc v1.MenuService
|
||||
auditLogsvc v1.AuditLogService
|
||||
session session.Session
|
||||
menuService v1.MenuService
|
||||
auditLogService v1.AuditLogService
|
||||
}
|
||||
|
||||
var _ Middleware = (*middleware)(nil)
|
||||
|
||||
func New(session session.Session, menusvc v1.MenuService, auditLogsvc v1.AuditLogService) Middleware {
|
||||
func New(session session.Session, menuService v1.MenuService, auditLogService v1.AuditLogService) Middleware {
|
||||
return &middleware{
|
||||
session: session,
|
||||
menusvc: menusvc,
|
||||
auditLogsvc: auditLogsvc,
|
||||
session: session,
|
||||
menuService: menuService,
|
||||
auditLogService: auditLogService,
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user