Models

package
v0.0.0-...-2375eab Latest Latest
Warning

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

Go to latest
Published: Jan 9, 2024 License: GPL-3.0 Imports: 14 Imported by: 0

Documentation

Index

Constants

View Source
const CommonRole = "common"
View Source
const SuperRole = "super"

Variables

View Source
var Db *gorm.DB

Functions

func Captcha

func Captcha(c *gin.Context, length ...int)

Captcha 生成验证码

func CaptchaVerify

func CaptchaVerify(c *gin.Context, code string) bool

CaptchaVerify 验证 code是从前端拿到的用户输入的验证码

func CheckPassword

func CheckPassword(plainText, cipherText string) bool

func CreateAccess

func CreateAccess(c *Access)

CreateAccess 所有反弹shell创建时都会归到超级管理员手里

func CreateDb

func CreateDb(fileName string)

func CreateUser

func CreateUser(db *gorm.DB, user *User)

func DeleteAccess

func DeleteAccess(hash string)

DeleteAccess 所有反弹shell删除时都会在数据库中删除

func EncryptAlg

func EncryptAlg(origData string) string

func ListAllAccesses

func ListAllAccesses(userName string) map[string]bool

func ListRolesExpectSuperAdmin

func ListRolesExpectSuperAdmin() []string

TODO: 当得到一个新的反弹shell要把他记录在数据库中 所有server创建时都会归到超级管理员手里

func MD5

func MD5(s string) string

MD5 MD5加密

func OpenDb

func OpenDb(fileName string)

func RegisterOne

func RegisterOne(username, password, tel string) bool

func ResetPassword

func ResetPassword(userName, password, tel string) bool

ResetPassword 输入的参数都是经过检查的, 包含内容的

func RoleAddAccess

func RoleAddAccess(grade string, accesses ...string) bool

func Serve

func Serve(w http.ResponseWriter, r *http.Request, id, ext, lang string, download bool, width, height int) error

Serve 生成图片

func Session

func Session(keyPairs string) gin.HandlerFunc

Session 中间件,处理session

func SessionConfig

func SessionConfig() sessions.Store

SessionConfig 配置session

func UserAddRole

func UserAddRole(userName string, grade ...string) bool

UserAddRole 创建一个超级管理员页面, oauth验证只有超级管理员才可以打开, 可以实现以下操作

func VerifyUser

func VerifyUser(userName, password string) bool

Types

type Access

type Access struct {
	gorm.Model
	Host      string              `json:"host"`
	Port      uint16              `json:"port"`
	Hash      string              `json:"hash"`
	User      string              `json:"user"`
	OS        oss.OperatingSystem `json:"os"`
	TimeStamp time.Time           `json:"timestamp"`
}

func (Access) AfterCreate

func (s Access) AfterCreate(tx *gorm.DB)

AfterCreate 创建一个新的server之后会将该server归入超级管理员

type Role

type Role struct {
	gorm.Model
	Grade string `json:"grade"`
	//Users   []User   `gorm:"many2many:role_users;"`
	Accesses []Access `gorm:"many2many:role_accesses;" json:"accesses"`
}

func CreateRole

func CreateRole(db *gorm.DB, grade string) *Role

func (*Role) ListAccesses

func (r *Role) ListAccesses() []Access

type User

type User struct {
	gorm.Model
	UserName string `json:"username"` // 和sql表有关, UserName -> user_name; UserMM -> user_m_m
	Password string `json:"password"`
	Tel      string `json:"tel"`
	Roles    []Role `gorm:"many2many:user_roles;" json:"roles"`
}

func ListUsers

func ListUsers(db *gorm.DB) []User

func (*User) BeforeCreate

func (u *User) BeforeCreate(tx *gorm.DB) (err error)

BeforeCreate 创建用户之前的hook, 将密码aes加密一下

func (*User) ListRoles

func (u *User) ListRoles() []Role

ListRoles 如果要管理某台电脑, 就切换到某个角色, 角色就在当前页, 不同的角色标签会附带当前持有多少个Server的标记

Jump to

Keyboard shortcuts

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