Documentation
¶
Overview ¶
pkg/auth/casbin.go
Index ¶
- func APIRateLimitMiddleware() gin.HandlerFunc
- func AdminRequiredMiddleware() gin.HandlerFunc
- func AuditMiddleware(auditService interface{}) gin.HandlerFunc
- func GenerateToken(user *models.User) (string, time.Time, error)
- func GetCurrentUser(c *gin.Context) (uint, string, string, bool)
- func InitCasbin(db *gorm.DB) (*casbin.Enforcer, error)
- func InitializeRateLimiter(config *configs.RateLimitConfig)
- func JWTAuthMiddleware() gin.HandlerFunc
- func JWTAuthWithSessionMiddleware(securityService interface{}) gin.HandlerFunc
- func LoginRateLimitMiddleware() gin.HandlerFunc
- func OptionalAuthMiddleware() gin.HandlerFunc
- func RateLimitMiddleware(requestType string) gin.HandlerFunc
- type CasbinBuilder
- type JWTClaims
- type RateLimiter
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func APIRateLimitMiddleware ¶ added in v0.5.0
func APIRateLimitMiddleware() gin.HandlerFunc
APIRateLimitMiddleware rate limiting middleware for general API requests
func AdminRequiredMiddleware ¶ added in v0.1.3
func AdminRequiredMiddleware() gin.HandlerFunc
AdminRequiredMiddleware admin privilege middleware
func AuditMiddleware ¶ added in v0.5.0
func AuditMiddleware(auditService interface{}) gin.HandlerFunc
AuditMiddleware creates middleware for auditing API requests
func GenerateToken ¶ added in v0.1.3
GenerateToken generates JWT token
func GetCurrentUser ¶ added in v0.1.3
GetCurrentUser gets current user information from context
func InitCasbin ¶ added in v0.1.2
InitCasbin initializes RBAC permission control
func InitializeRateLimiter ¶ added in v0.5.0
func InitializeRateLimiter(config *configs.RateLimitConfig)
InitializeRateLimiter initializes the global rate limiter
func JWTAuthMiddleware ¶ added in v0.1.3
func JWTAuthMiddleware() gin.HandlerFunc
JWTAuthMiddleware JWT authentication middleware
func JWTAuthWithSessionMiddleware ¶ added in v0.5.0
func JWTAuthWithSessionMiddleware(securityService interface{}) gin.HandlerFunc
JWTAuthWithSessionMiddleware JWT authentication middleware with session validation
func LoginRateLimitMiddleware ¶ added in v0.5.0
func LoginRateLimitMiddleware() gin.HandlerFunc
LoginRateLimitMiddleware rate limiting middleware specifically for login attempts
func OptionalAuthMiddleware ¶ added in v0.1.3
func OptionalAuthMiddleware() gin.HandlerFunc
OptionalAuthMiddleware optional authentication middleware (does not require mandatory login)
func RateLimitMiddleware ¶ added in v0.5.0
func RateLimitMiddleware(requestType string) gin.HandlerFunc
RateLimitMiddleware creates a rate limiting middleware
Types ¶
type CasbinBuilder ¶ added in v0.1.2
type CasbinBuilder struct {
IgnorePaths []string
}
func NewCasbinBuilder ¶ added in v0.1.2
func NewCasbinBuilder() *CasbinBuilder
func (*CasbinBuilder) CasbinMiddleware ¶ added in v0.1.3
func (r *CasbinBuilder) CasbinMiddleware(e *casbin.Enforcer) gin.HandlerFunc
CasbinMiddleware returns a Gin middleware handler function
func (*CasbinBuilder) IgnorePath ¶ added in v0.1.2
func (r *CasbinBuilder) IgnorePath(path string) *CasbinBuilder
IgnorePath allows chained calls to add paths that need to be ignored
type JWTClaims ¶ added in v0.1.3
type JWTClaims struct {
UserID uint `json:"user_id"`
Username string `json:"username"`
Role string `json:"role"`
jwt.RegisteredClaims
}
func ParseToken ¶ added in v0.1.3
ParseToken parses JWT token
type RateLimiter ¶ added in v0.5.0
type RateLimiter struct {
// contains filtered or unexported fields
}
RateLimiter represents a rate limiter for API requests
func NewRateLimiter ¶ added in v0.5.0
func NewRateLimiter(config *configs.RateLimitConfig) *RateLimiter
NewRateLimiter creates a new rate limiter