增加普通用户访问资产时的校验 close #44

This commit is contained in:
dushixiang
2021-01-26 21:54:44 +08:00
parent 4f1bfa6c5a
commit d771ad6ab6
7 changed files with 71 additions and 13 deletions

View File

@ -81,15 +81,15 @@ func FindLoginLogById(id string) (o LoginLog, err error) {
return
}
func Logout(id string) {
func Logout(token string) {
loginLog, err := FindLoginLogById(id)
loginLog, err := FindLoginLogById(token)
if err != nil {
logrus.Warnf("登录日志「%v」获取失败", id)
logrus.Warnf("登录日志「%v」获取失败", token)
return
}
global.DB.Table("login_logs").Where("id = ?", id).Update("logout_time", utils.NowJsonTime())
global.DB.Table("login_logs").Where("token = ?", token).Update("logout_time", utils.NowJsonTime())
loginLogs, err := FindAliveLoginLogsByUserId(loginLog.UserId)
if err != nil {

View File

@ -145,3 +145,21 @@ func AddSharerResources(userGroupId, userId, resourceType string, resourceIds []
return nil
})
}
func FindAssetIdsByUserId(userId string) (assetIds []string, err error) {
groupIds, err := FindUserGroupIdsByUserId(userId)
if err != nil {
return nil, err
}
db := global.DB
db = db.Table("resource_sharers").Select("resource_id").Where("user_id = ?", userId)
if groupIds != nil && len(groupIds) > 0 {
db = db.Or("user_group_id in ?", groupIds)
}
err = db.Find(&assetIds).Error
if assetIds == nil {
assetIds = make([]string, 0)
}
return
}

View File

@ -101,6 +101,10 @@ func UpdateUserById(o *User, id string) {
func DeleteUserById(id string) {
global.DB.Where("id = ?", id).Delete(&User{})
// 删除用户组中的用户关系
global.DB.Where("user_id = ?", id).Delete(&UserGroupMember{})
// 删除用户分享到的资产
global.DB.Where("user_id = ?", id).Delete(&ResourceSharer{})
}
func CountUser() (total int64, err error) {