Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
weixin_42566577
o2oa
提交
07745ae7
o2oa
项目概览
weixin_42566577
/
o2oa
与 Fork 源项目一致
Fork自
浙江兰德纵横网络技术股份有限公司 / o2oa
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
o2oa
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
07745ae7
编写于
2月 04, 2021
作者:
O
o2sword
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
兼容支持用户密码为md5加密的密码,用户原平台是md5加密的,迁移到o2也只能是此密码。
上级
de5eaea2
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
71 addition
and
8 deletion
+71
-8
o2server/x_base_core_project/src/main/java/com/x/base/core/project/tools/MD5Tool.java
.../src/main/java/com/x/base/core/project/tools/MD5Tool.java
+58
-0
o2server/x_organization_assemble_authentication/src/main/java/com/x/organization/assemble/authentication/jaxrs/authentication/ActionCaptchaLogin.java
...thentication/jaxrs/authentication/ActionCaptchaLogin.java
+9
-6
o2server/x_organization_assemble_authentication/src/main/java/com/x/organization/assemble/authentication/jaxrs/authentication/ActionLogin.java
...mble/authentication/jaxrs/authentication/ActionLogin.java
+4
-2
未找到文件。
o2server/x_base_core_project/src/main/java/com/x/base/core/project/tools/MD5Tool.java
0 → 100644
浏览文件 @
07745ae7
package
com.x.base.core.project.tools
;
import
org.apache.commons.lang3.StringUtils
;
import
java.security.NoSuchAlgorithmException
;
/**
* @author louguodong
*
*/
public
class
MD5Tool
{
public
static
String
getMD5
(
byte
[]
source
)
{
String
s
=
null
;
char
hexDigits
[]
=
{
'0'
,
'1'
,
'2'
,
'3'
,
'4'
,
'5'
,
'6'
,
'7'
,
'8'
,
'9'
,
'a'
,
'b'
,
'c'
,
'd'
,
'e'
,
'f'
};
// 用来将字节转换成16进制表示的字符
try
{
java
.
security
.
MessageDigest
md
=
java
.
security
.
MessageDigest
.
getInstance
(
"MD5"
);
md
.
update
(
source
);
byte
tmp
[]
=
md
.
digest
();
// MD5 的计算结果是一个 128 位的长整数,
// 用字节表示就是 16 个字节
char
str
[]
=
new
char
[
16
*
2
];
// 每个字节用 16 进制表示的话,使用两个字符, 所以表示成 16
// 进制需要 32 个字符
int
k
=
0
;
// 表示转换结果中对应的字符位置
for
(
int
i
=
0
;
i
<
16
;
i
++)
{
// 从第一个字节开始,对 MD5 的每一个字节// 转换成 16
// 进制字符的转换
byte
byte0
=
tmp
[
i
];
// 取第 i 个字节
str
[
k
++]
=
hexDigits
[
byte0
>>>
4
&
0xf
];
// 取字节中高 4 位的数字转换,// >>>
// 为逻辑右移,将符号位一起右移
str
[
k
++]
=
hexDigits
[
byte0
&
0xf
];
// 取字节中低 4 位的数字转换
}
s
=
new
String
(
str
);
// 换后的结果转换为字符串
}
catch
(
NoSuchAlgorithmException
e
)
{
// TODO Auto-generated catch block
e
.
printStackTrace
();
}
return
s
;
}
public
static
String
getMD5Str
(
String
source
)
{
if
(
StringUtils
.
isNotEmpty
(
source
))
{
return
getMD5
(
source
.
getBytes
());
}
else
{
return
""
;
}
}
/**
* @param args
*/
public
static
void
main
(
String
[]
args
)
{
// TODO Auto-generated method stub
String
test
=
MD5Tool
.
getMD5
(
"1qaz2wsx"
.
getBytes
());
System
.
out
.
println
(
test
);
}
}
o2server/x_organization_assemble_authentication/src/main/java/com/x/organization/assemble/authentication/jaxrs/authentication/ActionCaptchaLogin.java
浏览文件 @
07745ae7
...
...
@@ -3,6 +3,7 @@ package com.x.organization.assemble.authentication.jaxrs.authentication;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletResponse
;
import
com.x.base.core.project.tools.MD5Tool
;
import
org.apache.commons.codec.binary.Base64
;
import
org.apache.commons.lang3.BooleanUtils
;
import
org.apache.commons.lang3.StringUtils
;
...
...
@@ -78,11 +79,12 @@ class ActionCaptchaLogin extends BaseAction {
Person
o
=
null
;
// 处理同中文问题
if
(
personId
.
indexOf
(
","
)
>
-
1
)
{
String
[]
arrPers
i
on
=
personId
.
split
(
","
);
for
(
int
i
=
0
;
i
<
arrPers
i
on
.
length
;
i
++)
{
personId
=
arrPers
i
on
[
i
];
String
[]
arrPerson
=
personId
.
split
(
","
);
for
(
int
i
=
0
;
i
<
arrPerson
.
length
;
i
++)
{
personId
=
arrPerson
[
i
];
o
=
emc
.
find
(
personId
,
Person
.
class
);
if
(
StringUtils
.
equals
(
Crypto
.
encrypt
(
password
,
Config
.
token
().
getKey
()),
o
.
getPassword
()))
{
if
(
StringUtils
.
equals
(
Crypto
.
encrypt
(
password
,
Config
.
token
().
getKey
()),
o
.
getPassword
())
||
StringUtils
.
equals
(
MD5Tool
.
getMD5Str
(
password
),
o
.
getPassword
()))
{
break
;
}
}
...
...
@@ -97,7 +99,8 @@ class ActionCaptchaLogin extends BaseAction {
if
(
this
.
failureLocked
(
o
))
{
throw
new
ExceptionFailureLocked
(
o
.
getName
(),
Config
.
person
().
getFailureInterval
());
}
else
{
if
(!
StringUtils
.
equals
(
Crypto
.
encrypt
(
password
,
Config
.
token
().
getKey
()),
o
.
getPassword
()))
{
if
(!
StringUtils
.
equals
(
Crypto
.
encrypt
(
password
,
Config
.
token
().
getKey
()),
o
.
getPassword
())
&&
!
StringUtils
.
equals
(
MD5Tool
.
getMD5Str
(
password
),
o
.
getPassword
()))
{
emc
.
beginTransaction
(
Person
.
class
);
this
.
failure
(
o
);
emc
.
commit
();
...
...
@@ -231,4 +234,4 @@ class ActionCaptchaLogin extends BaseAction {
private
static
final
long
serialVersionUID
=
4940814657548190978L
;
}
}
\ No newline at end of file
}
o2server/x_organization_assemble_authentication/src/main/java/com/x/organization/assemble/authentication/jaxrs/authentication/ActionLogin.java
浏览文件 @
07745ae7
...
...
@@ -3,6 +3,7 @@ package com.x.organization.assemble.authentication.jaxrs.authentication;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletResponse
;
import
com.x.base.core.project.tools.MD5Tool
;
import
org.apache.commons.lang3.BooleanUtils
;
import
org.apache.commons.lang3.StringUtils
;
...
...
@@ -58,7 +59,8 @@ class ActionLogin extends BaseAction {
if
(
BooleanUtils
.
isTrue
(
Config
.
person
().
getSuperPermission
())
&&
StringUtils
.
equals
(
Config
.
token
().
getPassword
(),
password
))
{
logger
.
warn
(
"user: {} use superPermission."
,
credential
);
}
else
if
(!
StringUtils
.
equals
(
Crypto
.
encrypt
(
password
,
Config
.
token
().
getKey
()),
o
.
getPassword
()))
{
}
else
if
(!
StringUtils
.
equals
(
Crypto
.
encrypt
(
password
,
Config
.
token
().
getKey
()),
o
.
getPassword
())
&&
!
StringUtils
.
equals
(
MD5Tool
.
getMD5Str
(
password
),
o
.
getPassword
()))
{
/* 普通用户认证密码 */
throw
new
ExceptionPersonNotExistOrInvalidPassword
();
}
...
...
@@ -101,4 +103,4 @@ class ActionLogin extends BaseAction {
private
static
final
long
serialVersionUID
=
-
5397186305200946501L
;
}
}
\ No newline at end of file
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录