middleware

package
v1.10.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 22, 2026 License: MIT Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func APIKeyAuth added in v1.9.9

func APIKeyAuth(authenticator APIKeyAuthenticator) gin.HandlerFunc

APIKeyAuth 为向后兼容的别名

func APIKeyAuthOnly added in v1.9.9

func APIKeyAuthOnly(authenticator APIKeyAuthenticator) gin.HandlerFunc

APIKeyAuthOnly 强制 API Key 认证中间件 未携带或携带无效密钥的请求将被直接拒绝

func AdminAuth

func AdminAuth(manager *config.ConfigManager) gin.HandlerFunc

AdminAuth 管理员认证中间件(基于用户权限)

func CORS

func CORS() gin.HandlerFunc

CORS 中间件

func CombinedAdminAuth added in v1.7.1

func CombinedAdminAuth(manager *config.ConfigManager, userService interface {
	ValidateToken(string) (interface{}, error)
}) gin.HandlerFunc

CombinedAdminAuth 支持两类管理员认证: - session-based JWT(由 userService.ValidateToken 验证,返回 *services.AuthClaims,且 Role=="admin") - admin JWT(由 AdminService 生成,使用 manager.User.JWTSecret 签名,claims 为 jwt.MapClaims 且包含 is_admin:true 或 role:"admin")

func OptionalUserAuth

func OptionalUserAuth(manager *config.ConfigManager, userService interface {
	ValidateToken(string) (interface{}, error)
	AuthenticateAPIKey(string) (*services.APIKeyAuthResult, error)
}) gin.HandlerFunc

OptionalUserAuth 可选用户认证中间件(支持匿名和登录用户)

func RateLimit

func RateLimit(manager *config.ConfigManager) gin.HandlerFunc

RateLimit 限流中间件

func SetupGuard added in v1.9.5

func SetupGuard(cfg SetupGuardConfig) gin.HandlerFunc

SetupGuard ensures only setup resources are accessible before initialization and blocks setup routes after initialization is complete.

func ShareAuth

func ShareAuth(manager *config.ConfigManager) gin.HandlerFunc

ShareAuth 分享认证中间件

func UserAuth

func UserAuth(manager *config.ConfigManager, userService interface {
	ValidateToken(string) (interface{}, error)
}) gin.HandlerFunc

UserAuth 用户认证中间件

Types

type APIKeyAuthenticator added in v1.9.9

type APIKeyAuthenticator interface {
	AuthenticateAPIKey(string) (*services.APIKeyAuthResult, error)
}

APIKeyAuthenticator 抽象出 API Key 验证能力,避免直接依赖具体服务类型

type RateLimiter

type RateLimiter struct {
	// contains filtered or unexported fields
}

RateLimiter 限流器

func NewRateLimiter

func NewRateLimiter() *RateLimiter

func (*RateLimiter) Cleanup

func (rl *RateLimiter) Cleanup()

func (*RateLimiter) GetLimiter

func (rl *RateLimiter) GetLimiter(key string, r rate.Limit, b int) *rate.Limiter

type SetupGuardConfig added in v1.9.5

type SetupGuardConfig struct {
	// IsInitialized returns the current initialization status.
	IsInitialized func() (bool, error)
	// SetupPath denotes the setup entry path, defaults to /setup.
	SetupPath string
	// RedirectPath denotes the path to redirect to once initialized, defaults to /.
	RedirectPath string
	// AllowPaths lists exact paths that should remain accessible before initialization.
	AllowPaths []string
	// AllowPrefixes lists path prefixes that should remain accessible before initialization.
	AllowPrefixes []string
}

SetupGuardConfig controls how the setup guard middleware behaves.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL