Skip to content
项目
群组
代码片段
帮助
正在加载...
登录
切换导航
X
XXL-JOB
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分枝图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
分枝图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
靳帅
XXL-JOB
Commits
badcf6e3
提交
badcf6e3
authored
12月 25, 2017
作者:
xuxueli
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
系统安全性优化,登陆Token写Cookie时进行MD5加密,同时Cookie启用HttpOnly;
上级
3569b142
显示空白字符变更
内嵌
并排
正在显示
3 个修改的文件
包含
23 行增加
和
18 行删除
+23
-18
XXL-JOB官方文档.md
doc/XXL-JOB官方文档.md
+1
-1
PermissionInterceptor.java
...b/admin/controller/interceptor/PermissionInterceptor.java
+5
-0
CookieUtil.java
...src/main/java/com/xxl/job/admin/core/util/CookieUtil.java
+17
-17
没有找到文件。
doc/XXL-JOB官方文档.md
浏览文件 @
badcf6e3
...
@@ -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加密;
-
27、系统安全性优化,登陆Token写Cookie时进行MD5加密
,同时Cookie启用HttpOnly
;
### TODO LIST
### TODO LIST
...
...
xxl-job-admin/src/main/java/com/xxl/job/admin/controller/interceptor/PermissionInterceptor.java
浏览文件 @
badcf6e3
...
@@ -18,6 +18,7 @@ import java.math.BigInteger;
...
@@ -18,6 +18,7 @@ import java.math.BigInteger;
*/
*/
public
class
PermissionInterceptor
extends
HandlerInterceptorAdapter
{
public
class
PermissionInterceptor
extends
HandlerInterceptorAdapter
{
public
static
final
String
LOGIN_IDENTITY_KEY
=
"XXL_JOB_LOGIN_IDENTITY"
;
public
static
final
String
LOGIN_IDENTITY_KEY
=
"XXL_JOB_LOGIN_IDENTITY"
;
public
static
final
String
LOGIN_IDENTITY_TOKEN
;
public
static
final
String
LOGIN_IDENTITY_TOKEN
;
static
{
static
{
...
@@ -31,6 +32,8 @@ public class PermissionInterceptor extends HandlerInterceptorAdapter {
...
@@ -31,6 +32,8 @@ public class PermissionInterceptor extends HandlerInterceptorAdapter {
LOGIN_IDENTITY_TOKEN
=
tokenTmp
;
LOGIN_IDENTITY_TOKEN
=
tokenTmp
;
}
}
public
static
boolean
login
(
HttpServletResponse
response
,
String
username
,
String
password
,
boolean
ifRemember
){
public
static
boolean
login
(
HttpServletResponse
response
,
String
username
,
String
password
,
boolean
ifRemember
){
// login token
// login token
...
@@ -56,6 +59,8 @@ public class PermissionInterceptor extends HandlerInterceptorAdapter {
...
@@ -56,6 +59,8 @@ public class PermissionInterceptor extends HandlerInterceptorAdapter {
return
true
;
return
true
;
}
}
@Override
@Override
public
boolean
preHandle
(
HttpServletRequest
request
,
HttpServletResponse
response
,
Object
handler
)
throws
Exception
{
public
boolean
preHandle
(
HttpServletRequest
request
,
HttpServletResponse
response
,
Object
handler
)
throws
Exception
{
...
...
xxl-job-admin/src/main/java/com/xxl/job/admin/core/util/CookieUtil.java
浏览文件 @
badcf6e3
...
@@ -6,9 +6,11 @@ import javax.servlet.http.HttpServletResponse;
...
@@ -6,9 +6,11 @@ import javax.servlet.http.HttpServletResponse;
/**
/**
* Cookie.Util
* Cookie.Util
*
* @author xuxueli 2015-12-12 18:01:06
* @author xuxueli 2015-12-12 18:01:06
*/
*/
public
class
CookieUtil
{
public
class
CookieUtil
{
// 默认缓存时间,单位/秒, 2H
// 默认缓存时间,单位/秒, 2H
private
static
final
int
COOKIE_MAX_AGE
=
60
*
60
*
2
;
private
static
final
int
COOKIE_MAX_AGE
=
60
*
60
*
2
;
// 保存路径,根路径
// 保存路径,根路径
...
@@ -16,43 +18,39 @@ public class CookieUtil {
...
@@ -16,43 +18,39 @@ public class CookieUtil {
/**
/**
* 保存
* 保存
*
* @param response
* @param response
* @param key
* @param key
* @param value
* @param value
* @param ifRemember
* @param ifRemember
*/
*/
public
static
void
set
(
HttpServletResponse
response
,
String
key
,
String
value
,
boolean
ifRemember
)
{
public
static
void
set
(
HttpServletResponse
response
,
String
key
,
String
value
,
boolean
ifRemember
)
{
int
age
=
ifRemember
?
COOKIE_MAX_AGE:
-
1
;
int
age
=
COOKIE_MAX_AGE
;
set
(
response
,
key
,
value
,
null
,
COOKIE_PATH
,
age
,
true
);
if
(
ifRemember
)
{
age
=
COOKIE_MAX_AGE
;
}
else
{
age
=
-
1
;
}
Cookie
cookie
=
new
Cookie
(
key
,
value
);
cookie
.
setMaxAge
(
age
);
// Cookie过期时间,单位/秒
cookie
.
setPath
(
COOKIE_PATH
);
// Cookie适用的路径
response
.
addCookie
(
cookie
);
}
}
/**
/**
* 保存
* 保存
*
* @param response
* @param response
* @param key
* @param key
* @param value
* @param value
* @param maxAge
* @param maxAge
*/
*/
private
static
void
set
(
HttpServletResponse
response
,
private
static
void
set
(
HttpServletResponse
response
,
String
key
,
String
value
,
String
domain
,
String
path
,
int
maxAge
,
boolean
isHttpOnly
)
{
String
key
,
String
value
,
int
maxAge
,
String
path
)
{
Cookie
cookie
=
new
Cookie
(
key
,
value
);
Cookie
cookie
=
new
Cookie
(
key
,
value
);
cookie
.
setMaxAge
(
maxAge
);
// Cookie过期时间,单位/秒
if
(
domain
!=
null
)
{
cookie
.
setPath
(
path
);
// Cookie适用的路径
cookie
.
setDomain
(
domain
);
}
cookie
.
setPath
(
path
);
cookie
.
setMaxAge
(
maxAge
);
cookie
.
setHttpOnly
(
isHttpOnly
);
response
.
addCookie
(
cookie
);
response
.
addCookie
(
cookie
);
}
}
/**
/**
* 查询value
* 查询value
*
* @param request
* @param request
* @param key
* @param key
* @return
* @return
...
@@ -67,6 +65,7 @@ public class CookieUtil {
...
@@ -67,6 +65,7 @@ public class CookieUtil {
/**
/**
* 查询Cookie
* 查询Cookie
*
* @param request
* @param request
* @param key
* @param key
*/
*/
...
@@ -84,6 +83,7 @@ public class CookieUtil {
...
@@ -84,6 +83,7 @@ public class CookieUtil {
/**
/**
* 删除Cookie
* 删除Cookie
*
* @param request
* @param request
* @param response
* @param response
* @param key
* @param key
...
@@ -91,7 +91,7 @@ public class CookieUtil {
...
@@ -91,7 +91,7 @@ public class CookieUtil {
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
);
if
(
cookie
!=
null
)
{
if
(
cookie
!=
null
)
{
set
(
response
,
key
,
""
,
0
,
COOKIE_PATH
);
set
(
response
,
key
,
""
,
null
,
COOKIE_PATH
,
0
,
true
);
}
}
}
}
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论