Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
X
xyqb-user2
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
head_group
xyqb-user2
Commits
dcc51f04
Commit
dcc51f04
authored
Nov 10, 2017
by
技术部-任文超
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
优化提示文案
parent
ac0d24e8
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
11 additions
and
21 deletions
+11
-21
CaptchaFiniteValidateAdvisor.java
...oup/xyqb/aspect/captcha/CaptchaFiniteValidateAdvisor.java
+3
-5
CaptchaNewValidateAdvisor.java
...tgroup/xyqb/aspect/captcha/CaptchaNewValidateAdvisor.java
+4
-15
UserController.java
...ntgroup/xyqb/controller/internal/user/UserController.java
+4
-1
No files found.
src/main/java/cn/quantgroup/xyqb/aspect/captcha/CaptchaFiniteValidateAdvisor.java
View file @
dcc51f04
...
@@ -94,16 +94,14 @@ public class CaptchaFiniteValidateAdvisor {
...
@@ -94,16 +94,14 @@ public class CaptchaFiniteValidateAdvisor {
if
(
countErrorByPhone
>
Constants
.
Image_Need_Count
)
{
if
(
countErrorByPhone
>
Constants
.
Image_Need_Count
)
{
String
registerFrom
=
Optional
.
ofNullable
(
request
.
getParameter
(
"registerFrom"
)).
orElse
(
""
);
String
registerFrom
=
Optional
.
ofNullable
(
request
.
getParameter
(
"registerFrom"
)).
orElse
(
""
);
String
captchaId
=
Optional
.
ofNullable
(
request
.
getParameter
(
"captchaId"
)).
orElse
(
""
);
String
captchaId
=
Optional
.
ofNullable
(
request
.
getParameter
(
"captchaId"
)).
orElse
(
""
);
Object
captchaValue
=
request
.
getParameter
(
"captchaValue"
);
String
captchaValue
=
request
.
getParameter
(
"captchaValue"
);
String
deviceId
=
Optional
.
ofNullable
(
request
.
getParameter
(
"deviceId"
)).
orElse
(
""
);
if
(
shouldSkipCaptchaValidate
(
registerFrom
,
captchaId
,
captchaValue
))
{
if
(
shouldSkipCaptchaValidate
(
registerFrom
,
captchaId
,
captchaValue
))
{
LOGGER
.
info
(
"使用超级图形验证码校验, registerFrom={}, clientIp={}"
,
registerFrom
,
request
.
getRemoteAddr
());
LOGGER
.
info
(
"使用超级图形验证码校验, registerFrom={}, clientIp={}"
,
registerFrom
,
request
.
getRemoteAddr
());
return
pjp
.
proceed
();
return
pjp
.
proceed
();
}
}
if
(
captchaValue
!=
null
)
{
if
(
StringUtils
.
isNotBlank
(
captchaValue
))
{
String
captcha
=
String
.
valueOf
(
captchaValue
);
// 忽略用户输入的大小写
// 忽略用户输入的大小写
captcha
=
StringUtils
.
lowerCase
(
captcha
);
String
captcha
=
StringUtils
.
lowerCase
(
captchaValue
);
// 验证码校验
// 验证码校验
Boolean
validCaptcha
=
false
;
Boolean
validCaptcha
=
false
;
try
{
try
{
...
...
src/main/java/cn/quantgroup/xyqb/aspect/captcha/CaptchaNewValidateAdvisor.java
View file @
dcc51f04
...
@@ -83,7 +83,7 @@ public class CaptchaNewValidateAdvisor {
...
@@ -83,7 +83,7 @@ public class CaptchaNewValidateAdvisor {
HttpServletRequest
request
=
((
ServletRequestAttributes
)
RequestContextHolder
.
getRequestAttributes
()).
getRequest
();
HttpServletRequest
request
=
((
ServletRequestAttributes
)
RequestContextHolder
.
getRequestAttributes
()).
getRequest
();
String
registerFrom
=
Optional
.
ofNullable
(
request
.
getParameter
(
"registerFrom"
)).
orElse
(
""
);
String
registerFrom
=
Optional
.
ofNullable
(
request
.
getParameter
(
"registerFrom"
)).
orElse
(
""
);
String
captchaId
=
Optional
.
ofNullable
(
request
.
getParameter
(
"captchaId"
)).
orElse
(
""
);
String
captchaId
=
Optional
.
ofNullable
(
request
.
getParameter
(
"captchaId"
)).
orElse
(
""
);
Object
captchaValue
=
request
.
getParameter
(
"captchaValue"
);
String
captchaValue
=
request
.
getParameter
(
"captchaValue"
);
String
phoneNo
=
request
.
getParameter
(
"phoneNo"
);
String
phoneNo
=
request
.
getParameter
(
"phoneNo"
);
String
deviceId
=
Optional
.
ofNullable
(
request
.
getParameter
(
"deviceId"
)).
orElse
(
""
);
String
deviceId
=
Optional
.
ofNullable
(
request
.
getParameter
(
"deviceId"
)).
orElse
(
""
);
String
clientIp
=
getIp
();
String
clientIp
=
getIp
();
...
@@ -100,10 +100,9 @@ public class CaptchaNewValidateAdvisor {
...
@@ -100,10 +100,9 @@ public class CaptchaNewValidateAdvisor {
JsonResult
result
=
JsonResult
.
buildSuccessResult
(
"图形验证码不正确"
,
""
);
JsonResult
result
=
JsonResult
.
buildSuccessResult
(
"图形验证码不正确"
,
""
);
result
.
setBusinessCode
(
"0002"
);
result
.
setBusinessCode
(
"0002"
);
if
(
captchaValue
!=
null
&&
StringUtils
.
isNotEmpty
(
String
.
valueOf
(
captchaValue
)))
{
if
(
StringUtils
.
isNotBlank
(
captchaValue
))
{
String
captcha
=
String
.
valueOf
(
captchaValue
);
// 忽略用户输入的大小写
// 忽略用户输入的大小写
captcha
=
StringUtils
.
lowerCase
(
captcha
);
String
captcha
=
StringUtils
.
lowerCase
(
captchaValue
);
// 验证码校验
// 验证码校验
Boolean
validCaptcha
=
false
;
Boolean
validCaptcha
=
false
;
try
{
try
{
...
@@ -111,7 +110,6 @@ public class CaptchaNewValidateAdvisor {
...
@@ -111,7 +110,6 @@ public class CaptchaNewValidateAdvisor {
}
catch
(
CaptchaServiceException
ex
)
{
}
catch
(
CaptchaServiceException
ex
)
{
LOGGER
.
error
(
"验证码校验异常, {}, {}"
,
ex
.
getMessage
(),
ex
);
LOGGER
.
error
(
"验证码校验异常, {}, {}"
,
ex
.
getMessage
(),
ex
);
}
}
if
(
validCaptcha
)
{
if
(
validCaptcha
)
{
return
pjp
.
proceed
();
return
pjp
.
proceed
();
}
}
...
@@ -119,19 +117,15 @@ public class CaptchaNewValidateAdvisor {
...
@@ -119,19 +117,15 @@ public class CaptchaNewValidateAdvisor {
}
}
result
.
setMsg
(
"请输入图形验证码"
);
result
.
setMsg
(
"请输入图形验证码"
);
return
result
;
return
result
;
}
}
return
pjp
.
proceed
();
return
pjp
.
proceed
();
}
}
private
boolean
shouldSkipCaptchaValidate
(
String
registerFrom
,
String
captchaId
,
Object
captchaValue
)
{
private
boolean
shouldSkipCaptchaValidate
(
String
registerFrom
,
String
captchaId
,
Object
captchaValue
)
{
// 如果启用了超级验证码功能, 检查超级验证码, 超级验证码区分大小写
// 如果启用了超级验证码功能, 检查超级验证码, 超级验证码区分大小写
if
(
autoTestCaptchaEnabled
)
{
if
(
autoTestCaptchaEnabled
)
{
return
true
;
return
true
;
}
}
return
StringUtils
.
equals
(
SUPER_CAPTCHA_ID
,
String
.
valueOf
(
captchaId
))
&&
StringUtils
.
equals
(
SUPER_CAPTCHA
,
String
.
valueOf
(
captchaValue
));
return
StringUtils
.
equals
(
SUPER_CAPTCHA_ID
,
String
.
valueOf
(
captchaId
))
&&
StringUtils
.
equals
(
SUPER_CAPTCHA
,
String
.
valueOf
(
captchaValue
));
}
}
...
@@ -190,30 +184,25 @@ public class CaptchaNewValidateAdvisor {
...
@@ -190,30 +184,25 @@ public class CaptchaNewValidateAdvisor {
private
String
getIp
()
{
private
String
getIp
()
{
HttpServletRequest
request
=
getRequest
();
HttpServletRequest
request
=
getRequest
();
String
ip
=
request
.
getHeader
(
"x-real-ip"
);
String
ip
=
request
.
getHeader
(
"x-real-ip"
);
if
(
StringUtils
.
isEmpty
(
ip
))
{
if
(
StringUtils
.
isEmpty
(
ip
))
{
ip
=
request
.
getRemoteAddr
();
ip
=
request
.
getRemoteAddr
();
}
}
//过滤反向代理的ip
//过滤反向代理的ip
String
[]
stemps
=
ip
.
split
(
","
);
String
[]
stemps
=
ip
.
split
(
","
);
if
(
stemps
.
length
>=
1
)
{
if
(
stemps
.
length
>=
1
)
{
//得到第一个IP,即客户端真实IP
//得到第一个IP,即客户端真实IP
ip
=
stemps
[
0
];
ip
=
stemps
[
0
];
}
}
ip
=
ip
.
trim
();
ip
=
ip
.
trim
();
if
(
ip
.
length
()
>
23
)
{
if
(
ip
.
length
()
>
23
)
{
ip
=
ip
.
substring
(
0
,
23
);
ip
=
ip
.
substring
(
0
,
23
);
}
}
return
ip
;
return
ip
;
}
}
private
HttpServletRequest
getRequest
()
{
private
HttpServletRequest
getRequest
()
{
ServletRequestAttributes
attrs
=
(
ServletRequestAttributes
)
RequestContextHolder
ServletRequestAttributes
attrs
=
(
ServletRequestAttributes
)
RequestContextHolder
.
getRequestAttributes
();
.
getRequestAttributes
();
return
attrs
.
getRequest
();
return
attrs
.
getRequest
();
}
}
}
}
src/main/java/cn/quantgroup/xyqb/controller/internal/user/UserController.java
View file @
dcc51f04
...
@@ -41,6 +41,7 @@ import javax.servlet.http.HttpServletRequest;
...
@@ -41,6 +41,7 @@ import javax.servlet.http.HttpServletRequest;
import
java.io.UnsupportedEncodingException
;
import
java.io.UnsupportedEncodingException
;
import
java.util.HashMap
;
import
java.util.HashMap
;
import
java.util.Map
;
import
java.util.Map
;
import
java.util.Objects
;
import
java.util.Random
;
import
java.util.Random
;
import
java.util.concurrent.TimeUnit
;
import
java.util.concurrent.TimeUnit
;
...
@@ -545,6 +546,8 @@ public class UserController implements IBaseController {
...
@@ -545,6 +546,8 @@ public class UserController implements IBaseController {
// 密码错误计数
// 密码错误计数
Long
errorCount
=
stringRedisTemplate
.
opsForValue
().
increment
(
key
,
1L
);
Long
errorCount
=
stringRedisTemplate
.
opsForValue
().
increment
(
key
,
1L
);
if
(
errorCount
>
Constants
.
Image_Need_Count
){
if
(
errorCount
>
Constants
.
Image_Need_Count
){
throw
new
PasswordErrorLimitException
(
"用户名或密码不正确"
);
}
else
if
(
Objects
.
equals
(
errorCount
,
Constants
.
Image_Need_Count
)){
throw
new
PasswordErrorLimitException
(
"请输入图形验证码"
);
throw
new
PasswordErrorLimitException
(
"请输入图形验证码"
);
}
}
return
null
;
return
null
;
...
@@ -646,7 +649,7 @@ public class UserController implements IBaseController {
...
@@ -646,7 +649,7 @@ public class UserController implements IBaseController {
private
boolean
needRetSendCode
(
String
phoneNo
)
{
private
boolean
needRetSendCode
(
String
phoneNo
)
{
String
verificationCountKey
=
Constants
.
REDIS_VERIFICATION_COUNT
+
phoneNo
;
String
verificationCountKey
=
Constants
.
REDIS_VERIFICATION_COUNT
+
phoneNo
;
Long
getVerificationCount
=
stringRedisTemplate
.
opsForHash
().
increment
(
verificationCountKey
,
Constants
.
REDIS_VERIFICATION_COUNT
,
1
);
Long
getVerificationCount
=
stringRedisTemplate
.
opsForHash
().
increment
(
verificationCountKey
,
Constants
.
REDIS_VERIFICATION_COUNT
,
1
);
return
(
getVerificationCount
>
5
);
return
(
getVerificationCount
>
=
5
);
}
}
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment