Skip to content
项目
群组
代码片段
帮助
正在加载...
登录
切换导航
X
XXL-JOB
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分枝图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
分枝图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
靳帅
XXL-JOB
Commits
3569b142
提交
3569b142
authored
12月 25, 2017
作者:
xuxueli
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
系统安全性优化,登陆Token写Cookie时进行MD5加密;
上级
014b341f
显示空白字符变更
内嵌
并排
正在显示
4 个修改的文件
包含
32 行增加
和
16 行删除
+32
-16
XXL-JOB官方文档.md
doc/XXL-JOB官方文档.md
+1
-1
IndexController.java
...in/java/com/xxl/job/admin/controller/IndexController.java
+13
-11
PermissionInterceptor.java
...b/admin/controller/interceptor/PermissionInterceptor.java
+18
-3
CookieUtil.java
...src/main/java/com/xxl/job/admin/core/util/CookieUtil.java
+0
-1
没有找到文件。
doc/XXL-JOB官方文档.md
浏览文件 @
3569b142
...
@@ -1101,7 +1101,7 @@ Tips: 历史版本(V1.3.x)目前已经Release至稳定版本, 进入维护阶段
...
@@ -1101,7 +1101,7 @@ Tips: 历史版本(V1.3.x)目前已经Release至稳定版本, 进入维护阶段
-
24、Log地址格式兼容,支持非"/"结尾路径配置;
-
24、Log地址格式兼容,支持非"/"结尾路径配置;
-
25、底层系统日志级别规范调整,清理遗留代码;
-
25、底层系统日志级别规范调整,清理遗留代码;
-
26、建表SQL优化,支持同步创建制定编码的库和表;
-
26、建表SQL优化,支持同步创建制定编码的库和表;
-
27、系统安全性优化,登陆Token写Cookie时进行MD5加密;
### TODO LIST
### TODO LIST
...
...
xxl-job-admin/src/main/java/com/xxl/job/admin/controller/IndexController.java
浏览文件 @
3569b142
...
@@ -2,7 +2,6 @@ package com.xxl.job.admin.controller;
...
@@ -2,7 +2,6 @@ package com.xxl.job.admin.controller;
import
com.xxl.job.admin.controller.annotation.PermessionLimit
;
import
com.xxl.job.admin.controller.annotation.PermessionLimit
;
import
com.xxl.job.admin.controller.interceptor.PermissionInterceptor
;
import
com.xxl.job.admin.controller.interceptor.PermissionInterceptor
;
import
com.xxl.job.admin.core.util.PropertiesUtil
;
import
com.xxl.job.admin.service.XxlJobService
;
import
com.xxl.job.admin.service.XxlJobService
;
import
com.xxl.job.core.biz.model.ReturnT
;
import
com.xxl.job.core.biz.model.ReturnT
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.commons.lang3.StringUtils
;
...
@@ -61,18 +60,21 @@ public class IndexController {
...
@@ -61,18 +60,21 @@ public class IndexController {
@ResponseBody
@ResponseBody
@PermessionLimit
(
limit
=
false
)
@PermessionLimit
(
limit
=
false
)
public
ReturnT
<
String
>
loginDo
(
HttpServletRequest
request
,
HttpServletResponse
response
,
String
userName
,
String
password
,
String
ifRemember
){
public
ReturnT
<
String
>
loginDo
(
HttpServletRequest
request
,
HttpServletResponse
response
,
String
userName
,
String
password
,
String
ifRemember
){
if
(!
PermissionInterceptor
.
ifLogin
(
request
))
{
// valid
if
(
StringUtils
.
isNotBlank
(
userName
)
&&
StringUtils
.
isNotBlank
(
password
)
if
(
PermissionInterceptor
.
ifLogin
(
request
))
{
&&
PropertiesUtil
.
getString
(
"xxl.job.login.username"
).
equals
(
userName
)
return
ReturnT
.
SUCCESS
;
&&
PropertiesUtil
.
getString
(
"xxl.job.login.password"
).
equals
(
password
))
{
boolean
ifRem
=
false
;
if
(
StringUtils
.
isNotBlank
(
ifRemember
)
&&
"on"
.
equals
(
ifRemember
))
{
ifRem
=
true
;
}
}
PermissionInterceptor
.
login
(
response
,
ifRem
);
}
else
{
// param
return
new
ReturnT
<
String
>(
500
,
"账号或密码错误"
);
if
(
StringUtils
.
isBlank
(
userName
)
||
StringUtils
.
isBlank
(
password
)){
return
new
ReturnT
<
String
>(
500
,
"账号或密码为空"
);
}
}
boolean
ifRem
=
(
StringUtils
.
isNotBlank
(
ifRemember
)
&&
"on"
.
equals
(
ifRemember
))?
true
:
false
;
// do login
boolean
loginRet
=
PermissionInterceptor
.
login
(
response
,
userName
,
password
,
ifRem
);
if
(!
loginRet
)
{
return
new
ReturnT
<
String
>(
500
,
"账号或密码错误"
);
}
}
return
ReturnT
.
SUCCESS
;
return
ReturnT
.
SUCCESS
;
}
}
...
...
xxl-job-admin/src/main/java/com/xxl/job/admin/controller/interceptor/PermissionInterceptor.java
浏览文件 @
3569b142
...
@@ -3,6 +3,7 @@ package com.xxl.job.admin.controller.interceptor;
...
@@ -3,6 +3,7 @@ package com.xxl.job.admin.controller.interceptor;
import
com.xxl.job.admin.controller.annotation.PermessionLimit
;
import
com.xxl.job.admin.controller.annotation.PermessionLimit
;
import
com.xxl.job.admin.core.util.CookieUtil
;
import
com.xxl.job.admin.core.util.CookieUtil
;
import
com.xxl.job.admin.core.util.PropertiesUtil
;
import
com.xxl.job.admin.core.util.PropertiesUtil
;
import
org.apache.commons.codec.digest.DigestUtils
;
import
org.springframework.web.method.HandlerMethod
;
import
org.springframework.web.method.HandlerMethod
;
import
org.springframework.web.servlet.handler.HandlerInterceptorAdapter
;
import
org.springframework.web.servlet.handler.HandlerInterceptorAdapter
;
...
@@ -22,11 +23,25 @@ public class PermissionInterceptor extends HandlerInterceptorAdapter {
...
@@ -22,11 +23,25 @@ public class PermissionInterceptor extends HandlerInterceptorAdapter {
static
{
static
{
String
username
=
PropertiesUtil
.
getString
(
"xxl.job.login.username"
);
String
username
=
PropertiesUtil
.
getString
(
"xxl.job.login.username"
);
String
password
=
PropertiesUtil
.
getString
(
"xxl.job.login.password"
);
String
password
=
PropertiesUtil
.
getString
(
"xxl.job.login.password"
);
String
temp
=
username
+
"_"
+
password
;
LOGIN_IDENTITY_TOKEN
=
new
BigInteger
(
1
,
temp
.
getBytes
()).
toString
(
16
);
// login token
String
tokenTmp
=
DigestUtils
.
md5Hex
(
username
+
"_"
+
password
);
tokenTmp
=
new
BigInteger
(
1
,
tokenTmp
.
getBytes
()).
toString
(
16
);
LOGIN_IDENTITY_TOKEN
=
tokenTmp
;
}
public
static
boolean
login
(
HttpServletResponse
response
,
String
username
,
String
password
,
boolean
ifRemember
){
// login token
String
tokenTmp
=
DigestUtils
.
md5Hex
(
username
+
"_"
+
password
);
tokenTmp
=
new
BigInteger
(
1
,
tokenTmp
.
getBytes
()).
toString
(
16
);
if
(!
LOGIN_IDENTITY_TOKEN
.
equals
(
tokenTmp
)){
return
false
;
}
}
public
static
boolean
login
(
HttpServletResponse
response
,
boolean
ifRemember
){
// do login
CookieUtil
.
set
(
response
,
LOGIN_IDENTITY_KEY
,
LOGIN_IDENTITY_TOKEN
,
ifRemember
);
CookieUtil
.
set
(
response
,
LOGIN_IDENTITY_KEY
,
LOGIN_IDENTITY_TOKEN
,
ifRemember
);
return
true
;
return
true
;
}
}
...
...
xxl-job-admin/src/main/java/com/xxl/job/admin/core/util/CookieUtil.java
浏览文件 @
3569b142
...
@@ -87,7 +87,6 @@ public class CookieUtil {
...
@@ -87,7 +87,6 @@ public class CookieUtil {
* @param request
* @param request
* @param response
* @param response
* @param key
* @param key
* @param domainName
*/
*/
public
static
void
remove
(
HttpServletRequest
request
,
HttpServletResponse
response
,
String
key
)
{
public
static
void
remove
(
HttpServletRequest
request
,
HttpServletResponse
response
,
String
key
)
{
Cookie
cookie
=
get
(
request
,
key
);
Cookie
cookie
=
get
(
request
,
key
);
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论