secure

package module
v0.0.0-...-aa8b3de Latest Latest
Warning

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

Go to latest
Published: Dec 31, 2025 License: Apache-2.0 Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func AdminOnlyMiddleware

func AdminOnlyMiddleware() gbolt.HandlerFunc

AdminOnlyMiddleware 仅管理员访问中间件

func ApiKeyMiddleware

func ApiKeyMiddleware(validKeys []string) gbolt.HandlerFunc

ApiKeyMiddleware API Key认证中间件

func AuditMiddleware

func AuditMiddleware() gbolt.HandlerFunc

AuditMiddleware 审计日志中间件

func Fail

func Fail(c *gbolt.Context, msg string, code ...int)

Fail 失败响应

func Forbidden

func Forbidden(c *gbolt.Context, msg ...string)

Forbidden 禁止访问响应

func InternalError

func InternalError(c *gbolt.Context, msg ...string)

InternalError 内部错误响应

func IpWhitelistMiddleware

func IpWhitelistMiddleware(allowedIPs []string) gbolt.HandlerFunc

IpWhitelistMiddleware IP白名单中间件

func NotFound

func NotFound(c *gbolt.Context, msg ...string)

NotFound 未找到响应

func PageSuccess

func PageSuccess(c *gbolt.Context, data interface{}, total int64, page int, size int)

PageSuccess 分页成功响应

func PathPermissionMiddleware

func PathPermissionMiddleware(enforcer *Enforcer, skipPaths []string) gbolt.HandlerFunc

PathPermissionMiddleware 路径权限中间件(针对特定路径)

func PermissionMiddleware

func PermissionMiddleware(enforcer *Enforcer) gbolt.HandlerFunc

PermissionMiddleware 权限检查中间件

func RateLimit

func RateLimit(requests int, duration time.Duration) gbolt.HandlerFunc

RateLimit 限流中间件(简单实现)

func RequestID

func RequestID() gbolt.HandlerFunc

RequestID 请求ID中间件

func RoleMiddleware

func RoleMiddleware(allowedRoles ...uint) gbolt.HandlerFunc

RoleMiddleware 角色权限中间件

func SecurityHeaders

func SecurityHeaders() gbolt.HandlerFunc

SecurityHeaders 安全Header中间件

func Success

func Success(c *gbolt.Context, data ...interface{})

Success 成功响应

func TooManyRequests

func TooManyRequests(c *gbolt.Context, msg string)

TooManyRequests 请求过多响应

func Unauthorized

func Unauthorized(c *gbolt.Context, msg ...string)

Unauthorized 未授权响应

Types

type Enforcer

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

Enforcer 安全强制执行器

func NewEnforcer

func NewEnforcer(db *gbatis.DB) *Enforcer

NewEnforcer 创建安全强制执行器

func (*Enforcer) AddPolicy

func (e *Enforcer) AddPolicy(params ...interface{}) bool

AddPolicy 添加策略

func (*Enforcer) Enforce

func (e *Enforcer) Enforce(rvals ...interface{}) bool

Enforce 执行权限检查

func (*Enforcer) GetFilteredPolicy

func (e *Enforcer) GetFilteredPolicy(fieldIndex int, fieldValues ...string) [][]string

GetFilteredPolicy 获取过滤后的策略

func (*Enforcer) GetPolicy

func (e *Enforcer) GetPolicy() [][]string

GetPolicy 获取策略列表

func (*Enforcer) LoadPolicy

func (e *Enforcer) LoadPolicy() error

LoadPolicy 加载策略

func (*Enforcer) RemovePolicy

func (e *Enforcer) RemovePolicy(params ...interface{}) bool

RemovePolicy 删除策略

type HeaderHandler

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

HeaderHandler Header处理中间件

func NewHeaderHandler

func NewHeaderHandler() *HeaderHandler

NewHeaderHandler 创建Header处理器

func (*HeaderHandler) CORS

func (h *HeaderHandler) CORS() gbolt.HandlerFunc

CORS CORS中间件

func (*HeaderHandler) SetAllowedHeaders

func (h *HeaderHandler) SetAllowedHeaders(headers ...string) *HeaderHandler

SetAllowedHeaders 设置允许的Header

func (*HeaderHandler) SetAllowedMethods

func (h *HeaderHandler) SetAllowedMethods(methods ...string) *HeaderHandler

SetAllowedMethods 设置允许的方法

func (*HeaderHandler) SetAllowedOrigins

func (h *HeaderHandler) SetAllowedOrigins(origins ...string) *HeaderHandler

SetAllowedOrigins 设置允许的源

type PageResponse

type PageResponse struct {
	Code  int         `json:"code"`
	Msg   string      `json:"msg"`
	Data  interface{} `json:"data,omitempty"`
	Total int64       `json:"total"`
	Page  int         `json:"page"`
	Size  int         `json:"size"`
}

PageResponse 分页响应结构

type Pager

type Pager struct {
	Page     int   `json:"page"`
	PageSize int   `json:"pageSize"`
	Total    int64 `json:"total"`
}

Pager 分页信息

type Permission

type Permission struct {
	Ptype string `json:"ptype" gbatis:"column:ptype;comment:策略类型"`
	V0    string `json:"v0" gbatis:"column:v0;comment:主体"`
	V1    string `json:"v1" gbatis:"column:v1;comment:对象"`
	V2    string `json:"v2" gbatis:"column:v2;comment:动作"`
	V3    string `json:"v3" gbatis:"column:v3;comment:扩展字段1"`
	V4    string `json:"v4" gbatis:"column:v4;comment:扩展字段2"`
	V5    string `json:"v5" gbatis:"column:v5;comment:扩展字段3"`
}

Permission 权限结构体

func (Permission) TableName

func (Permission) TableName() string

TableName 返回权限表名

type Response

type Response struct {
	Code int         `json:"code"`
	Msg  string      `json:"msg"`
	Data interface{} `json:"data,omitempty"`
}

Response 统一响应结构

Jump to

Keyboard shortcuts

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