lateinit var apiJwtRepository: ApiJwtRepository
override fun onAuthenticationSuccess(request: HttpServletRequest, response: HttpServletResponse, authentication: Authentication) {
- logger.error(request?.getParameter("platform"))
- var temp = authentication!!.principal as TBMobileUser
+ logger.error(request.getParameter("platform"))
+ var temp = authentication.principal as TBMobileUser
var user = mobileUserDao.findByPhone(temp.phone)
- if(user!=null) {
+ if (user != null) {
//TODO 从数据取jwtConfig.expiration
val token = JwtTokenUtil(jwtConfig).generateToken(
mapOf("uid" to user.uid, "issuer" to "payapi",
"audience" to temp.phone,
Constants.JWT_CLAIM_TENANTID to "mobile",
"authorities" to temp.authorities))
- var jwt = JwtRedis().apply {
+ val jwt = JwtRedis().apply {
jti = token.jti
uid = temp.phone
status = TradeDict.JWT_STATUS_NORMAL
expiration = token.expiration.valueInMillis
}.apply {
//删除之前的token
- if(!user.jti.isNullOrEmpty()){
+ if (!user.jti.isNullOrEmpty()) {
apiJwtRepository.deleteById(user.jti!!)
}
apiJwtRepository.save(this)
}
- if (user.loginpwderror != null && user.loginpwderror!! > 0) {
+ if (user.loginpwderror > 0) {
user.loginpwderror = 0
user.loginpwderrortime = null
}
response.contentType = "application/json;charset=UTF-8"
response.writer.write(objectMapper.writeValueAsString(JsonResult.ok().put("token", token.jwtToken)
?.put("tenantid", "mobile")))
- }else{
+ } else {
throw UserLoginFailException("登录错误")
}
}
override fun onAuthenticationFailure(request: HttpServletRequest,
response: HttpServletResponse, exception: AuthenticationException) {
logger.error("登录失败:" + exception.message + "|" + exception.javaClass)
- var errmsg = ""
- if (exception is BadCredentialsException) {
- errmsg = "手机号或密码错误"
- } else if (exception is LockedException) {
- errmsg = "账户被锁定"
- } else {
- errmsg = exception.message!!
+ val errmsg = when (exception) {
+ is BadCredentialsException -> "手机号或密码错误"
+ is LockedException -> "账户被锁定"
+ else -> exception.message!!
}
- var temp = request.getParameter("username")
+ val temp = request.getParameter("username")
mobileUserDao.findByPhone(temp)?.let {
- if (it.loginpwderror == null || it.loginpwderror == 0) {
+ if (it.loginpwderror == 0) {
it.loginpwderror = 0
it.loginpwderrortime = System.currentTimeMillis()
}