|
@@ -2,16 +2,15 @@ package com.gxzc.zen.web.sys.controller
|
|
|
|
|
|
import com.baomidou.kisso.SSOConfig
|
|
|
import com.baomidou.kisso.SSOHelper
|
|
|
+import com.baomidou.kisso.SSOToken
|
|
|
import com.baomidou.kisso.annotation.Action
|
|
|
import com.baomidou.kisso.annotation.Login
|
|
|
-import com.baomidou.kisso.common.encrypt.MD5Salt
|
|
|
-import com.baomidou.kisso.security.token.SSOToken
|
|
|
import com.gxzc.zen.api.sys.service.ISysUserService
|
|
|
import com.gxzc.zen.common.base.BaseController
|
|
|
import com.gxzc.zen.common.dto.RequestDto
|
|
|
-import com.gxzc.zen.common.dto.ResponseDto
|
|
|
import com.gxzc.zen.common.exception.ZenException
|
|
|
import com.gxzc.zen.common.exception.ZenExceptionEnum
|
|
|
+import com.gxzc.zen.umps.util.MD5Salt
|
|
|
import io.swagger.annotations.ApiOperation
|
|
|
import org.slf4j.LoggerFactory
|
|
|
import org.springframework.beans.factory.annotation.Autowired
|
|
@@ -41,7 +40,7 @@ class AuthController : BaseController() {
|
|
|
// 验证输入合法性
|
|
|
val account = data.data["account"]?.toString()?.trim()
|
|
|
val password = data.data["password"]?.toString()
|
|
|
- val rememberMe = data.data["rememberMe"] as Boolean
|
|
|
+ val rememberMe = data.data["rememberMe"]?.let { it as Boolean }
|
|
|
|
|
|
if (account.isNullOrEmpty() || password.isNullOrEmpty()) {
|
|
|
throw ZenException(ZenExceptionEnum.REQUEST_NULL)
|
|
@@ -50,17 +49,24 @@ class AuthController : BaseController() {
|
|
|
val user = userService.getUserByAccountCacheable(account!!)
|
|
|
?: throw ZenException(ZenExceptionEnum.AUTH_ACCOUNT_NOT_EXISTS)
|
|
|
// 对密码进行盐值处理比对
|
|
|
- if (user.password != MD5Salt.md5SaltEncode(user.salt, password)) {
|
|
|
+ if (user.password != MD5Salt.md5SaltEncode(user.salt!!, password!!)) {
|
|
|
throw ZenException(ZenExceptionEnum.AUTH_PASSWORD_ERROR)
|
|
|
}
|
|
|
|
|
|
// 生成登陆 token->cookie
|
|
|
- if (rememberMe) {
|
|
|
+ if (rememberMe != null && rememberMe) {
|
|
|
SSOConfig.getInstance().cookieMaxage = 604800
|
|
|
+ } else {
|
|
|
+ val attrMaxAge = getRequest().getAttribute(SSOConfig.SSO_COOKIE_MAXAGE)?.let {
|
|
|
+ it as Int
|
|
|
+ }
|
|
|
+ if (attrMaxAge != null) {
|
|
|
+ getRequest().removeAttribute(SSOConfig.SSO_COOKIE_MAXAGE)
|
|
|
+ }
|
|
|
}
|
|
|
- SSOHelper.setCookie(getRequest(), getResponse(), SSOToken.create().setId(user.id), true)
|
|
|
-
|
|
|
- // redirectURL
|
|
|
+ SSOHelper.setSSOCookie(getRequest(), getResponse(), SSOToken().also {
|
|
|
+ it.uid = user.id.toString()
|
|
|
+ }, true)
|
|
|
return ResponseEntity.ok(null)
|
|
|
}
|
|
|
|