Files
nl_cms-api/internal/middleware/auth.go
2025-07-29 12:45:07 +08:00

65 lines
1.3 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
package middleware
import (
"github.com/gogf/gf/v2/frame/g"
"github.com/gogf/gf/v2/net/ghttp"
)
// UserAuth 用户认证中间件
func UserAuth(r *ghttp.Request) {
token := r.Header.Get("Authorization")
if token == "" {
r.Response.WriteJson(g.Map{
"code": 401,
"message": "未提供认证令牌",
})
r.ExitAll()
return
}
// 简单的token验证实际项目中应该验证JWT
if token != "Bearer user-token" {
r.Response.WriteJson(g.Map{
"code": 401,
"message": "认证令牌无效",
})
r.ExitAll()
return
}
// 设置用户信息到上下文
r.SetCtxVar("user_id", 1)
r.SetCtxVar("username", "testuser")
r.Middleware.Next()
}
// AdminAuth 管理员认证中间件
func AdminAuth(r *ghttp.Request) {
token := r.Header.Get("Authorization")
if token == "" {
r.Response.WriteJson(g.Map{
"code": 401,
"message": "未提供认证令牌",
})
r.ExitAll()
return
}
// 简单的token验证实际项目中应该验证JWT
if token != "Bearer admin-token" {
r.Response.WriteJson(g.Map{
"code": 401,
"message": "管理员认证令牌无效",
})
r.ExitAll()
return
}
// 设置管理员信息到上下文
r.SetCtxVar("admin_id", 1)
r.SetCtxVar("admin_username", "admin")
r.SetCtxVar("admin_role", "super_admin")
r.Middleware.Next()
}