modelauthz

package
v0.9.2 Latest Latest
Warning

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

Go to latest
Published: Oct 12, 2025 License: Apache-2.0 Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type CasbinRule

type CasbinRule struct {
	// ID uint64 `json:"id" gorm:"primaryKey"`
	ID    uint64 `json:"id" gorm:"primaryKey;autoIncrement:true"`
	Ptype string `json:"ptype" gorm:"size:100" schema:"ptype"`
	V0    string `json:"v0,omitempty" gorm:"size:100" schema:"v0"`
	V1    string `json:"v1,omitempty" gorm:"size:100" schema:"v1"`
	V2    string `json:"v2,omitempty" gorm:"size:100" schema:"v2"`
	V3    string `json:"v3,omitempty" gorm:"size:100" schema:"v3"`
	V4    string `json:"v4,omitempty" gorm:"size:100" schema:"v4"`
	V5    string `json:"v5,omitempty" gorm:"size:100" schema:"v5"`

	User string `json:"user,omitempty" schema:"user"` // 只是用来记录一些信息, V0 为 user_id
	Role string `json:"role,omitempty" schema:"role"` // 只是用来记录一些信息, V1 为 role name

	model.Base
}

CasbinRule RBAC 包中会通过 gormadapter.NewAdapterByDBWithCustomTable(database.DB, &model.CasbinRule{}) 或 gormadapter.NewAdapterByDB(database.DB) 来创建; NOTE: ID 类型必须是整型

func (CasbinRule) GetTableName

func (cr CasbinRule) GetTableName() string

GetTableName 用来指定 CasbinRule 在数据库中的表名为 casbin_rule. gormadapter.NewAdapterByDBWithCustomTable 创建的表名总是 casbin_rule, 但是 gorm 默认创建的表名为 casbin_rules, 为了统一,直接就用 casbin_rule 了.

func (*CasbinRule) SetID

func (cr *CasbinRule) SetID(id ...string)

SetID 为一个空的函数,不允许自动设置ID, 因为 gormadapter.NewAdapterByDBWithCustomTable 创建的表的ID总是为 autoIncrement. 如果设置了自定义ID则会报错.

type Effect

type Effect string
const (
	EffectAllow Effect = "allow"
	EffectDeny  Effect = "deny"
)

type Permission

type Permission struct {
	Resource string `json:"resource,omitempty" schema:"resource"`
	Action   string `json:"action,omitempty" schema:"action"`

	model.Base
}

func (*Permission) CreateBefore

func (p *Permission) CreateBefore(*types.ModelContext) error

func (*Permission) MarshalLogObject

func (p *Permission) MarshalLogObject(enc zapcore.ObjectEncoder) error

type Role

type Role struct {
	Name string `json:"name,omitempty" schema:"name"`

	model.Base
}

func (*Role) CreateAfter

func (r *Role) CreateAfter(*types.ModelContext) error

func (*Role) CreateBefore

func (r *Role) CreateBefore(*types.ModelContext) error

func (*Role) DeleteAfter

func (r *Role) DeleteAfter(ctx *types.ModelContext) error

func (*Role) DeleteBefore

func (r *Role) DeleteBefore(ctx *types.ModelContext) error

func (*Role) MarshalLogObject

func (r *Role) MarshalLogObject(enc zapcore.ObjectEncoder) error

func (*Role) UpdateBefore

func (r *Role) UpdateBefore(ctx *types.ModelContext) error

type RolePermission

type RolePermission struct {
	Role string `json:"role" schema:"role"`

	Resource string `json:"resource" schema:"resource"`
	Action   string `json:"action" schema:"action"`
	Effect   Effect `json:"effect" schema:"effect"`

	model.Base
}

RolePermission is a permission for a role TODO: remove RoleId and only keep Role(role name).

func (*RolePermission) CreateAfter

func (r *RolePermission) CreateAfter(*types.ModelContext) error

func (*RolePermission) CreateBefore

func (r *RolePermission) CreateBefore(*types.ModelContext) error

func (*RolePermission) DeleteAfter

func (r *RolePermission) DeleteAfter(ctx *types.ModelContext) error

func (*RolePermission) DeleteBefore

func (r *RolePermission) DeleteBefore(ctx *types.ModelContext) error

func (*RolePermission) MarshalLogObject

func (r *RolePermission) MarshalLogObject(enc zapcore.ObjectEncoder) error

type UserRole

type UserRole struct {
	UserID string `json:"user_id,omitempty" schema:"user_id"`
	RoleID string `json:"role_id,omitempty" schema:"role_id"`

	User string `json:"user,omitempty" schema:"user"` // 用户名,只是为了方便查询
	Role string `json:"role,omitempty" schema:"role"` // 角色名,只是为了方便查询

	model.Base
}

func (*UserRole) CreateAfter

func (r *UserRole) CreateAfter(ctx *types.ModelContext) error

func (*UserRole) CreateBefore

func (r *UserRole) CreateBefore(ctx *types.ModelContext) error

func (*UserRole) DeleteAfter

func (r *UserRole) DeleteAfter(ctx *types.ModelContext) error

func (*UserRole) DeleteBefore

func (r *UserRole) DeleteBefore(ctx *types.ModelContext) error

func (*UserRole) MarshalLogObject

func (r *UserRole) MarshalLogObject(enc zapcore.ObjectEncoder) error

Jump to

Keyboard shortcuts

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