www

package module
v0.0.2 Latest Latest
Warning

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

Go to latest
Published: Jan 26, 2026 License: MIT Imports: 9 Imported by: 0

README

www

Authentication,Authorization,Access Control,Permission Control

Identity

登录凭证

Security User

账号

Role

角色

Permission

权限

Menu

菜单

Project

按程序设计menu


登录凭证 -> 账号 -> 角色 -> 权限列表 -> 菜单


Documentation

Index

Constants

This section is empty.

Variables

View Source
var AccessTokenTtl = time.Hour * 24 * 14
View Source
var DisableAuthChkScope bool
View Source
var EnableAuthChk bool
View Source
var SuperIdentity dto.Identity
View Source
var SystemMenuGroup def.MenuGroup
View Source
var SystemScope = def.App

Functions

func WithAuth

func WithAuth(handler func(ctx server.Context)) []server.Handler

WithAuth token验证器, auth.JwtBasic header预处理 auth.Forbidden401Handler 无权限时返回401, 返回格式按照参数 auth.ForbiddenOption

Types

type AuthDomainHandler

type AuthDomainHandler interface {
}

type AuthManager

type AuthManager interface {
}

func NewDbAuthManager

func NewDbAuthManager(db AuthDomainHandler) AuthManager

type AuthOperationDomainHandler

type AuthOperationDomainHandler interface {
	GetSecurityInfo(code string) (dto.SecurityInfo, error)
}

type AuthOperationManager

type AuthOperationManager interface {
	SecurityUser(code string) (dto.SecurityInfo, error)
}

func NewDbAuthOperationManager

func NewDbAuthOperationManager(domain AuthOperationDomainHandler) AuthOperationManager

type DbAuthManager

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

type DbAuthOperationManager

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

func (*DbAuthOperationManager) SecurityUser

func (om *DbAuthOperationManager) SecurityUser(code string) (one dto.SecurityInfo, err error)

type DbIdentityManager

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

func (*DbIdentityManager) Bind

func (im *DbIdentityManager) Bind(identityCode, securityUserCode string, identityType def.IdentityType) (err error)

func (*DbIdentityManager) DetectIdentityType

func (im *DbIdentityManager) DetectIdentityType(identityCode string) def.IdentityType

func (*DbIdentityManager) Page

func (im *DbIdentityManager) Page(pager *app.Pager[dto.Identity]) (err error)

func (*DbIdentityManager) Unbind

func (im *DbIdentityManager) Unbind(identityCode string, securityUserCode string) (err error)

func (*DbIdentityManager) UserIdentities

func (im *DbIdentityManager) UserIdentities(userCode string) (list []dto.Identity, err error)

type DbPermManager

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

func (*DbPermManager) GetUserPerms

func (pm *DbPermManager) GetUserPerms(user string) (perms []dto.AuthUserPerm)

type DbPermOperationManager

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

func (*DbPermOperationManager) AllPerms

func (h *DbPermOperationManager) AllPerms() (perms []dto.Permission)

func (*DbPermOperationManager) BindRole

func (h *DbPermOperationManager) BindRole(roleCode, permCome string) (err error)

func (*DbPermOperationManager) CreatePerm

func (h *DbPermOperationManager) CreatePerm(dto *dto.Permission) (err error)

func (*DbPermOperationManager) DelPerm

func (h *DbPermOperationManager) DelPerm(code string) (err error)

func (*DbPermOperationManager) EditPerm

func (h *DbPermOperationManager) EditPerm(code string, dto *dto.Permission) (err error)

func (*DbPermOperationManager) GetRolePerms

func (h *DbPermOperationManager) GetRolePerms(roleCode string) (perms []dto.Permission)

func (*DbPermOperationManager) One

func (h *DbPermOperationManager) One(code string) (dto dto.Permission, err error)

func (*DbPermOperationManager) UnbindRole

func (h *DbPermOperationManager) UnbindRole(roleCode, permCome string) (err error)

type DbRoleManager

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

func (*DbRoleManager) UserRoles

func (rm *DbRoleManager) UserRoles(userCode string) (role []dto.UserRole, err error)

type DbRoleOperationManager

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

func (*DbRoleOperationManager) AddRole

func (h *DbRoleOperationManager) AddRole(role *dto.Role) (err error)

func (*DbRoleOperationManager) All

func (h *DbRoleOperationManager) All() (list []dto.Role, err error)

func (*DbRoleOperationManager) BindUser

func (h *DbRoleOperationManager) BindUser(userCode, roleCode string) (ur dto.UserRole, err error)

func (*DbRoleOperationManager) DelRole

func (h *DbRoleOperationManager) DelRole(roleCode string) (err error)

func (*DbRoleOperationManager) EditRole

func (h *DbRoleOperationManager) EditRole(role *dto.Role) (err error)

func (*DbRoleOperationManager) One

func (h *DbRoleOperationManager) One(roleCode string) (one dto.Role, err error)

func (*DbRoleOperationManager) RoleUsers

func (h *DbRoleOperationManager) RoleUsers(roleCode string) (list []dto.UserRole, err error)

func (*DbRoleOperationManager) UnbindUser

func (h *DbRoleOperationManager) UnbindUser(userCode, roleCode string) (err error)

func (*DbRoleOperationManager) UserRoles

func (h *DbRoleOperationManager) UserRoles(saasUser string) (list []dto.UserRole, err error)

type DbRouteManager

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

func (*DbRouteManager) GetUserRouters

func (m *DbRouteManager) GetUserRouters(saasUserCode string) []dto.Menu

type DbRouteOperationManager

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

func (*DbRouteOperationManager) AddRoute

func (mom *DbRouteOperationManager) AddRoute(dto *dto.ReqMenuForm) (err error)

func (*DbRouteOperationManager) DelRoute

func (mom *DbRouteOperationManager) DelRoute(id int) (err error)

func (*DbRouteOperationManager) EditRoute

func (mom *DbRouteOperationManager) EditRoute(dto *dto.ReqMenuForm) (err error)

func (*DbRouteOperationManager) GetProjectRoutes

func (mom *DbRouteOperationManager) GetProjectRoutes(kw, projectCode string) (list []dto.Menu)

func (*DbRouteOperationManager) GetRoute

func (mom *DbRouteOperationManager) GetRoute(id int) (menu dto.Menu, err error)

func (*DbRouteOperationManager) GetRouteOptions

func (mom *DbRouteOperationManager) GetRouteOptions(group string) (list []dto.MenuOption, err error)

type DbSaasManager

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

func (*DbSaasManager) SaasOrg

func (m *DbSaasManager) SaasOrg(code string) (one dto.SaasOrganization, err error)

func (*DbSaasManager) UserSaasOrgs

func (m *DbSaasManager) UserSaasOrgs(userCode string) (list []dto.SaasUser, err error)

type DbSaasOperationManager

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

func (*DbSaasOperationManager) AllOrgs

func (m *DbSaasOperationManager) AllOrgs() (list []dto.SaasOrganization, err error)

func (*DbSaasOperationManager) CreateSaas

func (m *DbSaasOperationManager) CreateSaas(userCode string, orgCode string, name string) (one dto.SaasUser, err error)

func (*DbSaasOperationManager) JoinOrganization

func (m *DbSaasOperationManager) JoinOrganization(orgCode string, userCode string, userName string) (u dto.SaasUser, err error)

func (*DbSaasOperationManager) LeaveOrganization

func (m *DbSaasOperationManager) LeaveOrganization(orgCode string, userCode string) (err error)

func (*DbSaasOperationManager) SaasList

func (m *DbSaasOperationManager) SaasList(orgCode string, pager *app.Pager[dto.SaasUser]) (err error)

type IdentityDomainHandler

type IdentityDomainHandler interface {
	TxGetIdentity(tx persistence.TxContext, identityCode string) (one dto.Identity, err error)
	TxGetSecurity(tx persistence.TxContext, securityUserCode string) (one dto.SecurityInfo, err error)
	TxCreateIdentity(tx persistence.TxContext, securityUserCode, identityCode string, identityType def.IdentityType) (one dto.Identity, err error)
	TxDelIdentity(tx persistence.TxContext, code string) (err error)
	TxGetIdentities(ctx persistence.TxContext, securityUserFilter string, limits ...int) ([]dto.Identity, error)
	GetIdentityPage(pager *app.Pager[dto.Identity]) (err error)
	DetectIdentityType(identityCode string) def.IdentityType
}

type IdentityManager

type IdentityManager interface {
	Bind(identityCode, securityUserCode string, identityType def.IdentityType) (err error)
	Unbind(identityCode string, securityUserCode string) (err error)
	Page(pager *app.Pager[dto.Identity]) (err error)
	UserIdentities(userCode string) (list []dto.Identity, err error)
	DetectIdentityType(identityCode string) def.IdentityType
}

func NewDbIdentityManager

func NewDbIdentityManager(handler DomainHandler) IdentityManager
type MenuDomainHandler interface {
	GetPermRouters(userCode string) (list []dto.Menu)
	GetCommonRouters() (list []dto.Menu)
	GetMenu(id int) (menu dto.Menu, err error)
	AddMenu(menu *dto.ReqMenuForm) (err error)
	GetMenuOptionList(group def.MenuGroup) (list []dto.MenuOption, err error)
	UpdateMenu(menu *dto.ReqMenuForm) (err error)
	DeleteMenu(id int) (err error)
	GetMenuList(filterKw string, filterProject def.MenuGroup) (list []dto.Menu, err error)
}

type PasswordHandler

type PasswordHandler interface {
	Encoding(h func(plaintext string) string) string
	Verify(h func(plaintext string) bool) bool
}

type PermDomainHandler

type PermDomainHandler interface {
	GetPermissionList(filterUserCode string, filterProjectCode string) (list []dto.AuthUserPerm, err error)
}

type PermManager

type PermManager interface {
	GetUserPerms(user string) (perms []dto.AuthUserPerm) // 用户的权限列表
}

func NewPermManager

func NewPermManager(db DomainHandler) PermManager

type PermOperationHandler

type PermOperationHandler interface {
	TxCreatePerm(tx persistence.TxContext, dto *dto.Permission) (err error)
	TxUpdatePerm(tx persistence.TxContext, dto *dto.Permission) (err error)
	TxDeletePerm(tx persistence.TxContext, code string) (err error)
	GetAllPerms() (perms []dto.Permission)
	GetPermsByRole(roleCode string) (perms []dto.Permission)
	GetPermByCode(code string) (dto dto.Permission, err error)
	TxCreateRolePermNoChk(tx persistence.TxContext, dto *dto.AuthRolePerm) (err error)
	TxDeleteRolePermNoChk(tx persistence.TxContext, dto *dto.AuthRolePerm) (err error)
}

type PermOperationManager

type PermOperationManager interface {
	CreatePerm(dto *dto.Permission) (err error)
	One(code string) (dto dto.Permission, err error)
	DelPerm(code string) (err error)
	EditPerm(code string, dto *dto.Permission) (err error)
	AllPerms() (perms []dto.Permission)
	BindRole(roleCode, permCome string) (err error)
	UnbindRole(roleCode, permCome string) (err error)
	GetRolePerms(roleCode string) (perms []dto.Permission)
}

func NewDbPermOperationManager

func NewDbPermOperationManager(db DomainHandler) PermOperationManager

type RoleDomainHandler

type RoleDomainHandler interface {
	GetUserRoleList(userCode string) (role []dto.UserRole, err error)
}

type RoleManager

type RoleManager interface {
	UserRoles(userCode string) (role []dto.UserRole, err error)
}

func NewRoleManager

func NewRoleManager(domain RoleDomainHandler) RoleManager

type RoleOperationDomainHandler

type RoleOperationDomainHandler interface {
	GetAllRole() (list []dto.Role, err error)
	CreateRole(role *dto.Role) (err error)
	UpdateRole(role *dto.Role) (err error)
	DelRole(roleCode string) (err error)
	GetRoleByCode(roleCode string) (role dto.Role, err error)
	CreateUserRole(saasUserCode, roleCode string) (ur dto.UserRole, err error)
	DeleteUserRole(saasUserCode, roleCode string) (err error)
	GetUserRole(filterUserCode, filterRoleCode string) (list []dto.UserRole, err error)
}

type RoleOperationManager

type RoleOperationManager interface {
	All() (list []dto.Role, err error)
	AddRole(role *dto.Role) (err error)
	EditRole(role *dto.Role) (err error)
	DelRole(roleCode string) (err error)
	One(roleCode string) (one dto.Role, err error)
	BindUser(saasUserCode, roleCode string) (ur dto.UserRole, err error)
	UnbindUser(saasUserCode, roleCode string) (err error)
	RoleUsers(roleCode string) (list []dto.UserRole, err error)
	UserRoles(saasUser string) (list []dto.UserRole, err error)
}

type RouteManager

type RouteManager interface {
	GetUserRouters(userCode string) (list []dto.Menu)
}

func NewDbRouteManager

func NewDbRouteManager(db DomainHandler) RouteManager

type RouteOperationManager

type RouteOperationManager interface {
	AddRoute(*dto.ReqMenuForm) (err error)
	EditRoute(*dto.ReqMenuForm) (err error)
	DelRoute(id int) (err error)
	GetRoute(id int) (menu dto.Menu, err error)
	GetRouteOptions(menuGroup string) (list []dto.MenuOption, err error)
	GetProjectRoutes(kw, menuGroup string) (list []dto.Menu)
}

func NewDbRouteOperationManager

func NewDbRouteOperationManager(db DomainHandler) RouteOperationManager

type SaasDomainHandler

type SaasDomainHandler interface {
	GetUserSaasOrgs(userCode string) (list []dto.SaasUser, err error)
	GetSaasOrg(code string) (one dto.SaasOrganization, err error)
}

type SaasManager

type SaasManager interface {
	UserSaasOrgs(userCode string) (list []dto.SaasUser, err error)
	SaasOrg(code string) (one dto.SaasOrganization, err error)
}

func NewDbSaasManager

func NewDbSaasManager(domain SaasDomainHandler) SaasManager

type SaasOperationDomainHandler

type SaasOperationDomainHandler interface {
	TxCreateSaasOrg(tx persistence.TxContext, orgCode string, name string, admin string) (org dto.SaasOrganization, err error)
	TxAddOrgUser(tx persistence.TxContext, dto *dto.SaasUser) (err error)
	TxGetOrg(tx persistence.TxContext, orgCode string) (org dto.SaasOrganization, err error)
	TxDelOrgUser(tx persistence.TxContext, code string) (err error)
	GetAllOrgs() (list []dto.SaasOrganization, err error)
	SaasUserPage(orgCode string, pager *app.Pager[dto.SaasUser]) (err error)
	TxGetSaasUser(tx persistence.TxContext, code string) (u dto.SaasUser, err error)
}

type SaasOperationManager

type SaasOperationManager interface {
	CreateSaas(userCode string, orgCode string, name string) (u dto.SaasUser, err error)
	SaasList(orgCode string, pager *app.Pager[dto.SaasUser]) (err error)
	AllOrgs() (list []dto.SaasOrganization, err error)
	JoinOrganization(orgCode string, userCode string, userName string) (u dto.SaasUser, err error)
	LeaveOrganization(orgCode string, userCode string) (err error)
}

func NewDbSaasOperationManager

func NewDbSaasOperationManager(domain SaasOperationDomainHandler) SaasOperationManager

type TokenStore

type TokenStore interface {
	Save(data string, ttl time.Duration)
}

Jump to

Keyboard shortcuts

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