修改登录页

This commit is contained in:
java_cuibaocheng@163.com 2024-04-10 14:47:38 +08:00
parent 40e6fcfc9e
commit f7f3e2dc46
3 changed files with 56 additions and 35 deletions

View File

@ -8,6 +8,7 @@ import ink.wgink.login.base.handler.LoginFailureHandler;
import ink.wgink.login.base.service.user.UserLoginService;
import ink.wgink.module.sms.service.sms.ISmsService;
import ink.wgink.properties.BaseProperties;
import ink.wgink.service.user.service.IUserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.authentication.AuthenticationManager;
import org.springframework.security.config.annotation.SecurityConfigurerAdapter;
@ -34,11 +35,12 @@ public class LoginPhoneConfig extends SecurityConfigurerAdapter<DefaultSecurityF
private HttpSession httpSession;
@Autowired
private ISmsService smsService;
@Autowired
private IUserService iUserService;
@Override
public void configure(HttpSecurity http) throws Exception {
super.configure(http);
LoginPhoneAuthFilter loginPhoneAuthFilter = new LoginPhoneAuthFilter(smsService);
LoginPhoneAuthFilter loginPhoneAuthFilter = new LoginPhoneAuthFilter(smsService, iUserService);
loginPhoneAuthFilter.setAuthenticationManager(http.getSharedObject(AuthenticationManager.class));
loginPhoneAuthFilter.setAuthenticationFailureHandler(new LoginFailureHandler(baseProperties.getLoginFailure()));

View File

@ -2,6 +2,9 @@ package cn.com.tenlion.operator.login.phone.auth;
import ink.wgink.login.base.exceptions.UserAuthenticationException;
import ink.wgink.module.sms.service.sms.ISmsService;
import ink.wgink.service.user.enums.UserStateEnum;
import ink.wgink.service.user.pojo.pos.UserPO;
import ink.wgink.service.user.service.IUserService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.security.core.Authentication;
import org.springframework.security.core.AuthenticationException;
@ -17,9 +20,12 @@ public class LoginPhoneAuthFilter extends AbstractAuthenticationProcessingFilter
private ISmsService smsService;
public LoginPhoneAuthFilter(ISmsService smsService) {
private IUserService iUserService;
public LoginPhoneAuthFilter(ISmsService smsService, IUserService iUserService) {
super(new AntPathRequestMatcher("/oauth/phone", "POST"));
this.smsService = smsService;
this.iUserService = iUserService;
}
@Override
@ -39,6 +45,13 @@ public class LoginPhoneAuthFilter extends AbstractAuthenticationProcessingFilter
if (!StringUtils.equals(code, verifyCode)) {
throw new UserAuthenticationException("验证码不匹配");
}
/**
* 查到用户
*/
UserPO userPO = iUserService.getPOByUsername(phone);
if (userPO != null && userPO.getUserState().equals("1")) {
iUserService.updateUserState(userPO.getUserId(), UserStateEnum.NORMAL);
}
LoginPhoneAuthToken loginPhoneAuthToken = new LoginPhoneAuthToken(phone, null);
loginPhoneAuthToken.setDetails(authenticationDetailsSource.buildDetails(request));
return this.getAuthenticationManager().authenticate(loginPhoneAuthToken);

View File

@ -72,6 +72,7 @@
height: 60px;
line-height: 60px;
text-align: center;
/* padding: auto 20px auto 50px; */
font-size: 36px;
margin: auto 20px auto 50px;
}
@ -82,19 +83,11 @@
line-height: 30px;
font-size: 14px;
margin: auto 0;
/* height: 20px; */
padding: 0 25px;
border-left: 2px solid rgba(0, 0, 0, .2);
}
.sign a {
width: 260px;
height: 46px;
margin-left: 50px;
margin-top: 17px;
}
.sign a img{
width: 260px;
height: 46px;
}
.go-page {
display: flex;
justify-content: end;
@ -295,7 +288,6 @@
}
#loginBox .denglu .yzmtx1 {
position: relative;
display: none;
margin-bottom: 20px;
width: 100%;
height: 38px;
@ -313,7 +305,6 @@
border: none;
}
#loginBox .denglu .yzmbox1 {
display: none;
width: 100%;
height: 38px;
line-height: 38px;
@ -327,7 +318,16 @@
text-align: center;
margin-bottom: 20px;
}
.sign a {
width: 260px;
height: 46px;
margin-left: 50px;
margin-top: 17px;
}
.sign a img{
width: 260px;
height: 46px;
}
#loginBox .change-password {
display: none;
}
@ -414,11 +414,11 @@
<div id="loginBox" class="layadmin-user-login-main">
<div class="btnlist">
<div>
<button id="zhanghaomima">账号密码</button>
<button id="zhanghaomima" @click="loginTypeChange('zhanghaomima')">账号密码</button>
<span class="span1"></span>
</div>
<div>
<button id="yzmlongin">验证码登录</button>
<button id="yzmlongin" @click="loginTypeChange('yanzhengma')">验证码登录</button>
<span class="span2"></span>
</div>
@ -435,22 +435,22 @@
</div>
</div>
<div id="loginFormBox" class="layadmin-user-login-box layadmin-user-login-body layui-form">
<form id="loginForm" :action="pageParams.loginFormAction" method="post" @submit.prevent="submitForm" class="denglu">
<form id="loginForm" :action="activeAction" method="post" @submit.prevent="submitForm" class="denglu">
<input type="hidden" name="referToken" v-model="formData.referToken"/>
<div class="layui-form-item">
<label class="layadmin-user-login-icon layui-icon layui-icon-username" for="username"></label>
<input type="text" v-model="formData.username" id="username" name="username" lay-verify="username" placeholder="用户名" class="layui-input">
</div>
<div class="layui-form-item mima" id="passwordBox" >
<div class="layui-form-item mima" id="passwordBox" v-if="loginType === 'zhanghaomima'">
<label class="layadmin-user-login-icon layui-icon layui-icon-password" for="password"></label>
<input type="password" v-model="formData.password" id="password" name="password" lay-verify="password" placeholder="密码" class="layui-input">
</div>
<div class="yzmbox1" @click="getLoginVerificationCode">
<div class="yzmbox1" @click="getLoginVerificationCode" v-if="loginType === 'yanzhengma'">
<span id="yzm11">点击获取验证码</span>
</div>
<div class="yzmtx1">
<label class="layadmin-user-login-icon layui-icon layui-icon-password" for="password"></label>
<input type="text" placeholder="请输入验证码" id="inputyzm11">
<div class="yzmtx1" v-if="loginType === 'yanzhengma'">
<label class="layadmin-user-login-icon layui-icon layui-icon-password" for="inputyzm11"></label>
<input type="text" v-model="formData.code" name="code" placeholder="请输入验证码" lay-verify="code" id="inputyzm11">
</div>
<div class="layui-form-item" id="verificationCodeBox" v-if="pageParams.verificationCode == 'true'" >
<!-- 验证码 -->
@ -535,6 +535,8 @@
el: '#app',
data: {
pageParams: pageParams,
loginType: 'zhanghaomima',
activeAction: pageParams.loginFormAction,
formData: {
referToken: pageParams.referToken,
verificationCode: '',
@ -690,7 +692,15 @@
$('#loginForm').submit();
})
},
loginTypeChange: function(type) {
if(type === 'zhanghaomima') {
this.activeAction = this.pageParams.loginFormAction;
}
if(type === 'yanzhengma') {
this.activeAction = this.pageParams.loginPhoneAction;
}
this.loginType = type;
}
},
mounted: function() {
var self = this;
@ -713,6 +723,11 @@
return '密码不能为空';
}
},
code: function(value, item) {
if(!value) {
return '验证码不能为空';
}
},
verificationCode: function(value, item) {
if(!value) {
return '验证码不能为空';
@ -723,6 +738,7 @@
})
// 切换账号密码登录和验证码登录
let loginForm = document.querySelector("#loginForm");
let mima = document.querySelector(".mima")
let yzmbox1 = document.querySelector('.yzmbox1')
let yzmtx1 = document.querySelector(".yzmtx1")
@ -741,10 +757,7 @@
span2.style.display = 'none'
yzmlongin.style.fontWeight = 400
yzmlongin.style.borderBottom = '0'
mima.style.display = 'block'
bixuan.style.display = 'block'
yzmtx1.style.display = 'none'
yzmbox1.style.display = 'none'
})
// 验证码登录
document.querySelector('#yzmlongin').addEventListener('click', function () {
@ -754,10 +767,7 @@
span2.style.display = 'block'
zhanghaomima.style.fontWeight = 400
zhanghaomima.style.borderBottom = '0'
mima.style.display = 'none'
bixuan.style.display = 'none'
yzmtx1.style.display = 'block'
yzmbox1.style.display = 'block'
})
// 点击 忘记密码 去登录 切换div
@ -771,14 +781,10 @@
// 忘记密码
document.querySelector('#goChangePassword').addEventListener('click', function () {
btnList.style.display = 'none'
change.style.display = 'block'
dengLu.style.display = 'none'
changePassword.style.display = 'block'
})
// 去登录