Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
C
cash-loan-flow-boss
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
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
QG
cash-loan-flow-boss
Commits
bdcc8034
Commit
bdcc8034
authored
Jan 13, 2021
by
suntao
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
ldap 登录
parent
d3c6decd
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
34 additions
and
31 deletions
+34
-31
LogController.java
.../cashloanflowboss/api/login/controller/LogController.java
+1
-1
LoginFormModel.java
...roup/cashloanflowboss/api/login/model/LoginFormModel.java
+5
-0
LoginMethodModel.java
...up/cashloanflowboss/api/login/model/LoginMethodModel.java
+6
-0
LdapAuthentication.java
...ashloanflowboss/api/login/service/LdapAuthentication.java
+2
-2
LoginService.java
...roup/cashloanflowboss/api/login/service/LoginService.java
+2
-1
LoginServiceImpl.java
.../cashloanflowboss/api/login/service/LoginServiceImpl.java
+18
-27
No files found.
src/main/java/cn/quantgroup/cashloanflowboss/api/login/controller/LogController.java
View file @
bdcc8034
...
...
@@ -35,7 +35,7 @@ public class LogController {
*/
@PostMapping
(
"/login"
)
public
Result
<
String
>
login
(
@RequestBody
@Valid
LoginFormModel
loginFormModel
)
{
Tuple
<
ApplicationStatus
,
String
>
tuple
=
this
.
loginService
.
login
(
loginFormModel
.
getUsername
(),
loginFormModel
.
getPassword
()
);
Tuple
<
ApplicationStatus
,
String
>
tuple
=
this
.
loginService
.
login
(
loginFormModel
);
if
(
ApplicationStatus
.
SUCCESS
.
equals
(
tuple
.
getKey
()))
{
return
new
Result
<>(
tuple
.
getKey
(),
tuple
.
getValue
());
}
else
{
...
...
src/main/java/cn/quantgroup/cashloanflowboss/api/login/model/LoginFormModel.java
View file @
bdcc8034
...
...
@@ -21,4 +21,9 @@ public class LoginFormModel {
@NotEmpty
(
message
=
"无效的密码"
)
private
String
password
;
/**
* 登录方式
*/
private
LoginMethodModel
tabName
;
}
src/main/java/cn/quantgroup/cashloanflowboss/api/login/model/LoginMethodModel.java
0 → 100644
View file @
bdcc8034
package
cn
.
quantgroup
.
cashloanflowboss
.
api
.
login
.
model
;
public
enum
LoginMethodModel
{
NORMAL
,
// 正常登录
LDAP
;
// ldap登录
}
src/main/java/cn/quantgroup/cashloanflowboss/api/login/service/LdapAuthentication.java
View file @
bdcc8034
...
...
@@ -48,9 +48,9 @@ public class LdapAuthentication implements IldapAuthentication, CommandLineRunne
try
{
ctx
=
new
InitialLdapContext
(
env
,
connCtls
);
}
catch
(
AuthenticationException
e
)
{
log
.
error
(
"
验证
失败:{}"
,
ExceptionUtils
.
getStackTrace
(
e
));
log
.
error
(
"
初始化
失败:{}"
,
ExceptionUtils
.
getStackTrace
(
e
));
}
catch
(
Exception
e
)
{
e
.
printStackTrace
(
);
log
.
error
(
"初始化失败:{}"
,
ExceptionUtils
.
getStackTrace
(
e
)
);
}
}
...
...
src/main/java/cn/quantgroup/cashloanflowboss/api/login/service/LoginService.java
View file @
bdcc8034
package
cn
.
quantgroup
.
cashloanflowboss
.
api
.
login
.
service
;
import
cn.quantgroup.cashloanflowboss.api.login.model.LoginFormModel
;
import
cn.quantgroup.cashloanflowboss.core.base.Tuple
;
import
cn.quantgroup.cashloanflowboss.core.dictionary.ApplicationStatus
;
...
...
@@ -12,7 +13,7 @@ import java.util.Map;
* @author: suntao
*/
public
interface
LoginService
{
Tuple
<
ApplicationStatus
,
String
>
login
(
String
username
,
String
password
);
Tuple
<
ApplicationStatus
,
String
>
login
(
LoginFormModel
loginFormModel
);
boolean
logout
();
...
...
src/main/java/cn/quantgroup/cashloanflowboss/api/login/service/LoginServiceImpl.java
View file @
bdcc8034
...
...
@@ -2,6 +2,8 @@ package cn.quantgroup.cashloanflowboss.api.login.service;
import
cn.quantgroup.cashloanflowboss.api.login.auth.ApiAuthService
;
import
cn.quantgroup.cashloanflowboss.api.login.auth.model.LoginUser
;
import
cn.quantgroup.cashloanflowboss.api.login.model.LoginFormModel
;
import
cn.quantgroup.cashloanflowboss.api.login.model.LoginMethodModel
;
import
cn.quantgroup.cashloanflowboss.api.login.model.Principal
;
import
cn.quantgroup.cashloanflowboss.api.role.entity.Role
;
import
cn.quantgroup.cashloanflowboss.api.role.repository.RoleRepository
;
...
...
@@ -60,39 +62,25 @@ public class LoginServiceImpl implements LoginService {
/**
* 登入
*
* @param
username 用户名
*
@param
password 密码(明文)
* @param
loginFormModel
*
loginFormModel.
password 密码(明文)
* @return
*/
@Override
public
Tuple
<
ApplicationStatus
,
String
>
login
(
String
username
,
String
password
)
{
public
Tuple
<
ApplicationStatus
,
String
>
login
(
LoginFormModel
loginFormModel
)
{
String
username
=
loginFormModel
.
getUsername
();
String
password
=
loginFormModel
.
getPassword
();
String
remoteIP
=
IpUtil
.
getRemoteIP
(
request
);
Long
increment
=
redisTemplate
.
opsForValue
().
increment
(
"user:login:ip:"
+
remoteIP
,
1
);
if
(
increment
>
1
000
)
{
if
(
increment
>
5
000
)
{
log
.
info
(
"登陆失败,username={}, msg={}"
,
username
,
"md有人在搞事情"
);
return
new
Tuple
<>(
ApplicationStatus
.
REENTRY_LOCK_EXCEPTION
,
""
);
}
User
user
=
this
.
userService
.
getUser
(
username
);
if
(
user
==
null
)
{
// 如果没有user 查询量星球
// JsonResult<LoginUser> result = apiAuthService.autoLogin(username + "@quantgroup.cn", password, "KA_MA");
// if (!result.isSuccess() || result.getData() == null) {
// log.info("登陆失败,username={}, msg={}", username, result.getMessage());
// return new Tuple<>(ApplicationStatus.USERNAME_OR_PASSWORD_ERROR, "");
// } else {
// LoginUser data = result.getData();
// Role role = roleRepository.getByName("量化派操作员");
// user = new User();
// user.setId(-1L);
// user.setUsername(username);
// user.setNickname(data.getName());
// user.setPassword(MD5Tools.md5(password));
// user.setRank(UserRank.OPERATOR);
// user.setRole(role);
// user.setStatus(UserStatus.ENABLED);
// }
User
user
;
LoginMethodModel
loginMethodModel
=
loginFormModel
.
getTabName
();
if
(
loginMethodModel
==
null
||
LoginMethodModel
.
NORMAL
.
equals
(
loginMethodModel
))
{
user
=
this
.
userService
.
getUser
(
username
);
}
else
{
boolean
b
=
ldapAuthentication
.
authenricate
(
username
,
password
);
if
(
b
)
{
LoginUser
data
=
new
LoginUser
();
...
...
@@ -100,7 +88,7 @@ public class LoginServiceImpl implements LoginService {
user
=
new
User
();
user
.
setId
(-
1L
);
user
.
setUsername
(
username
);
user
.
setNickname
(
data
.
getName
()
);
user
.
setNickname
(
username
);
user
.
setPassword
(
MD5Tools
.
md5
(
password
));
user
.
setRank
(
UserRank
.
OPERATOR
);
user
.
setRole
(
role
);
...
...
@@ -109,7 +97,10 @@ public class LoginServiceImpl implements LoginService {
log
.
info
(
"登陆失败,username={}, msg={}"
,
username
,
"ldap失败"
);
return
new
Tuple
<>(
ApplicationStatus
.
USERNAME_OR_PASSWORD_ERROR
,
""
);
}
}
if
(
user
==
null
)
{
log
.
info
(
"登陆失败,username={}, msg={}"
,
username
,
"user不存在"
);
return
new
Tuple
<>(
ApplicationStatus
.
USERNAME_OR_PASSWORD_ERROR
,
""
);
}
// 检查用户是否被禁用
if
(
UserStatus
.
DISABLED
.
equals
(
user
.
getStatus
()))
{
...
...
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