- 移除加密相关代码(服务端和所有客户端) - 修复 JWT 验证未检查签名算法的问题 - 修复重置密码使用不安全随机数的问题 - 实现 Logout 服务端失效机制 - 修复历史版本对比 diff 颜色标记错误 - 修复占位符解析循环引用风险 - 添加用户禁用状态检查 - 更新 bug 清单文档
46 lines
1.6 KiB
Go
46 lines
1.6 KiB
Go
package model
|
|
|
|
import "time"
|
|
|
|
type User struct {
|
|
Id int `xorm:"int autoincr pk" json:"id"`
|
|
GroupId *int `xorm:"int" json:"groupId"`
|
|
Name string `xorm:"varchar(16)" json:"name"`
|
|
Password string `xorm:"varchar(64)" json:"-"`
|
|
Mobile string `xorm:"char(11)" json:"mobile"`
|
|
Email string `xorm:"varchar(32)" json:"email"`
|
|
Type string `xorm:"varchar(16) default 'user'" json:"type"` // user, groupAdmin, superAdmin
|
|
Enabled bool `xorm:"tinyint(1) default 1" json:"enabled"`
|
|
CreatedAt *time.Time `xorm:"datetime" json:"createdAt"`
|
|
UpdatedAt *time.Time `xorm:"datetime" json:"updatedAt"`
|
|
LastLogoutAt *time.Time `xorm:"datetime" json:"-"`
|
|
GroupName string `xorm:"-" json:"groupName,omitempty"`
|
|
GroupMaster bool `xorm:"-" json:"groupMaster,omitempty"`
|
|
}
|
|
|
|
type UserPermission struct {
|
|
Id int `xorm:"int autoincr pk" json:"id"`
|
|
UserId int `xorm:"int" json:"userId"`
|
|
Env string `xorm:"varchar(16)" json:"env"`
|
|
AppId int `xorm:"int" json:"appId"`
|
|
Operate string `xorm:"varchar(8) default 'RW'" json:"operate"` // RO, RW
|
|
}
|
|
|
|
type LoginUserInfo struct {
|
|
Id string `json:"id"`
|
|
Name string `json:"name"`
|
|
Type string `json:"type"`
|
|
GroupId *int `json:"groupId"`
|
|
GrantAppIds []int `json:"grantAppIds"`
|
|
GrantPermissons []string `json:"grantPermissons"`
|
|
GroupMaster bool `json:"groupMaster"`
|
|
}
|
|
|
|
func (u *LoginUserInfo) IsSuperAdmin() bool {
|
|
return u.Type == "superAdmin"
|
|
}
|
|
|
|
func (u *LoginUserInfo) IsGroupAdmin() bool {
|
|
return u.Type == "groupAdmin"
|
|
}
|