增加了多点登录限制 体验需要再 static\config中 把 system中的useMultipoint 修改为 true

This commit is contained in:
pixel
2020-01-02 15:32:18 +08:00
parent 60e10ffbac
commit cff6388a82
8 changed files with 123 additions and 31 deletions

View File

@@ -1,6 +1,7 @@
package sysModel
import (
"gin-vue-admin/init/initRedis"
"gin-vue-admin/init/qmsql"
"github.com/jinzhu/gorm"
)
@@ -10,14 +11,25 @@ type JwtBlacklist struct {
Jwt string `gorm:"type:text"`
}
func(j *JwtBlacklist)JsonInBlacklist()(err error){
func (j *JwtBlacklist) JsonInBlacklist() (err error) {
err = qmsql.DEFAULTDB.Create(j).Error
return
}
//判断JWT是否在黑名单内部
func (j *JwtBlacklist)IsBlacklist(Jwt string)(bool){
isNotFound := qmsql.DEFAULTDB.Where("jwt = ?",Jwt).First(j).RecordNotFound()
func (j *JwtBlacklist) IsBlacklist(Jwt string) bool {
isNotFound := qmsql.DEFAULTDB.Where("jwt = ?", Jwt).First(j).RecordNotFound()
return !isNotFound
}
}
//判断当前用户是否在线
func (j *JwtBlacklist) GetRedisJWT(userName string) (err error, RedisJWT string) {
RedisJWT, err = initRedis.DEFAULTREDIS.Get(userName).Result()
return err, RedisJWT
}
//设置当前用户在线
func (j *JwtBlacklist) SetRedisJWT(userName string) (err error) {
err = initRedis.DEFAULTREDIS.Set(userName, j.Jwt, 1000*1000*1000*60*60*24*7).Err()
return err
}