|
|
@@ -5,9 +5,7 @@ import (
|
|
|
"git.qianqiusoft.com/qianqiusoft/light-apiengine/entitys"
|
|
|
sysmodel "git.qianqiusoft.com/qianqiusoft/light-apiengine/models"
|
|
|
sysutils "git.qianqiusoft.com/qianqiusoft/light-apiengine/utils"
|
|
|
- "strconv"
|
|
|
"strings"
|
|
|
- "time"
|
|
|
)
|
|
|
|
|
|
type LightAuth struct {
|
|
|
@@ -30,44 +28,45 @@ func (la *LightAuth) Login(c *entitys.CtrlContext) {
|
|
|
ret, err := c.PlatformDbEngine.SQL(sysmodel.SqlUserLogin, logininfo.Account).Get(&user)
|
|
|
if ret && err == nil {
|
|
|
//TODO check password
|
|
|
- timestamp := uint64(time.Now().UnixNano())
|
|
|
md5Pwd := sysutils.HashPassword(logininfo.Password, "")
|
|
|
//密码错误
|
|
|
if !strings.EqualFold(user.Password, md5Pwd) {
|
|
|
c.Ctx.JSON(200, sysmodel.SysReturn{400, "password incorrect!", nil})
|
|
|
return
|
|
|
}
|
|
|
- token := &entitys.Token{}
|
|
|
- timestamp_str := strconv.FormatUint(timestamp, 10)
|
|
|
- sec_tooken := sysutils.GenerateToken(logininfo.Account + timestamp_str)
|
|
|
- if v := sysutils.GetGlobalTokenStore().Get(sec_tooken); v == nil {
|
|
|
- token.AccessToken = sec_tooken
|
|
|
- token.RefreshToken = sec_tooken
|
|
|
- token.LoginID = logininfo.Account
|
|
|
- token.UserId = user.Id
|
|
|
- token.Result = 200
|
|
|
- //token.Password = pwd
|
|
|
- token.ServerIp = ""
|
|
|
- token.Domain = user.Domain
|
|
|
- sysutils.GetGlobalTokenStore().Set(sec_tooken, token)
|
|
|
- //sysutils.GetGlobalTokenStore().Set(token.LoginID+user.Domain, token)
|
|
|
- } else {
|
|
|
- token = v
|
|
|
- }
|
|
|
- data := sysmodel.LoginReturnInfo{}
|
|
|
- data.Id = user.Id
|
|
|
- data.LoginId = user.LoginId
|
|
|
- data.Name = user.Name
|
|
|
- data.Mobile = user.Mobile
|
|
|
- data.Email = user.Email
|
|
|
- data.Token = token.AccessToken
|
|
|
- data.Type = user.Type
|
|
|
- data.Domain = user.Domain
|
|
|
-
|
|
|
- // 查找用户对应角色
|
|
|
- var roles []sysmodel.SysRole
|
|
|
- c.App.GetBusinessDb(user.Domain).SQL("select sys_role.* from sys_user_role, sys_role where sys_user_role.role_id = sys_role.id and sys_role.del_flag = 0 and sys_user_role.user_id = ? order by sys_role.priority asc", user.Id).Find(&roles)
|
|
|
- data.Roles = roles
|
|
|
+ data := AddToGlobalTokenStore(c, &user)
|
|
|
+ //timestamp := uint64(time.Now().UnixNano())
|
|
|
+ //token := &entitys.Token{}
|
|
|
+ //timestamp_str := strconv.FormatUint(timestamp, 10)
|
|
|
+ //sec_tooken := sysutils.GenerateToken(logininfo.Account + timestamp_str)
|
|
|
+ //if v := sysutils.GetGlobalTokenStore().Get(sec_tooken); v == nil {
|
|
|
+ // token.AccessToken = sec_tooken
|
|
|
+ // token.RefreshToken = sec_tooken
|
|
|
+ // token.LoginID = logininfo.Account
|
|
|
+ // token.UserId = user.Id
|
|
|
+ // token.Result = 200
|
|
|
+ // //token.Password = pwd
|
|
|
+ // token.ServerIp = ""
|
|
|
+ // token.Domain = user.Domain
|
|
|
+ // sysutils.GetGlobalTokenStore().Set(sec_tooken, token)
|
|
|
+ // //sysutils.GetGlobalTokenStore().Set(token.LoginID+user.Domain, token)
|
|
|
+ //} else {
|
|
|
+ // token = v
|
|
|
+ //}
|
|
|
+ //data := sysmodel.LoginReturnInfo{}
|
|
|
+ //data.Id = user.Id
|
|
|
+ //data.LoginId = user.LoginId
|
|
|
+ //data.Name = user.Name
|
|
|
+ //data.Mobile = user.Mobile
|
|
|
+ //data.Email = user.Email
|
|
|
+ //data.Token = token.AccessToken
|
|
|
+ //data.Type = user.Type
|
|
|
+ //data.Domain = user.Domain
|
|
|
+ //
|
|
|
+ //// 查找用户对应角色
|
|
|
+ //var roles []sysmodel.SysRole
|
|
|
+ //c.App.GetBusinessDb(user.Domain).SQL("select sys_role.* from sys_user_role, sys_role where sys_user_role.role_id = sys_role.id and sys_role.del_flag = 0 and sys_user_role.user_id = ? order by sys_role.priority asc", user.Id).Find(&roles)
|
|
|
+ //data.Roles = roles
|
|
|
|
|
|
c.Ctx.JSON(200, sysmodel.SysReturn{200, "", data})
|
|
|
} else {
|