Documentation
¶
Index ¶
- func AdminOnlyMiddleware() gbolt.HandlerFunc
- func ApiKeyMiddleware(validKeys []string) gbolt.HandlerFunc
- func AuditMiddleware() gbolt.HandlerFunc
- func Fail(c *gbolt.Context, msg string, code ...int)
- func Forbidden(c *gbolt.Context, msg ...string)
- func InternalError(c *gbolt.Context, msg ...string)
- func IpWhitelistMiddleware(allowedIPs []string) gbolt.HandlerFunc
- func NotFound(c *gbolt.Context, msg ...string)
- func PageSuccess(c *gbolt.Context, data interface{}, total int64, page int, size int)
- func PathPermissionMiddleware(enforcer *Enforcer, skipPaths []string) gbolt.HandlerFunc
- func PermissionMiddleware(enforcer *Enforcer) gbolt.HandlerFunc
- func RateLimit(requests int, duration time.Duration) gbolt.HandlerFunc
- func RequestID() gbolt.HandlerFunc
- func RoleMiddleware(allowedRoles ...uint) gbolt.HandlerFunc
- func SecurityHeaders() gbolt.HandlerFunc
- func Success(c *gbolt.Context, data ...interface{})
- func TooManyRequests(c *gbolt.Context, msg string)
- func Unauthorized(c *gbolt.Context, msg ...string)
- type Enforcer
- func (e *Enforcer) AddPolicy(params ...interface{}) bool
- func (e *Enforcer) Enforce(rvals ...interface{}) bool
- func (e *Enforcer) GetFilteredPolicy(fieldIndex int, fieldValues ...string) [][]string
- func (e *Enforcer) GetPolicy() [][]string
- func (e *Enforcer) LoadPolicy() error
- func (e *Enforcer) RemovePolicy(params ...interface{}) bool
- type HeaderHandler
- type PageResponse
- type Pager
- type Permission
- type Response
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 IpWhitelistMiddleware ¶
func IpWhitelistMiddleware(allowedIPs []string) gbolt.HandlerFunc
IpWhitelistMiddleware IP白名单中间件
func PageSuccess ¶
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 RoleMiddleware ¶
func RoleMiddleware(allowedRoles ...uint) gbolt.HandlerFunc
RoleMiddleware 角色权限中间件
Types ¶
type Enforcer ¶
type Enforcer struct {
// contains filtered or unexported fields
}
Enforcer 安全强制执行器
func (*Enforcer) GetFilteredPolicy ¶
GetFilteredPolicy 获取过滤后的策略
func (*Enforcer) RemovePolicy ¶
RemovePolicy 删除策略
type HeaderHandler ¶
type HeaderHandler struct {
// contains filtered or unexported fields
}
HeaderHandler Header处理中间件
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 权限结构体
Click to show internal directories.
Click to hide internal directories.