Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
S
shr-server
Project
Project
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
Graph
比较
统计图
议题
0
议题
0
列表
看板
标记
Milestones
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
inroi
shr-server
Commits
aa3b4438
提交
aa3b4438
authored
7月 22, 2022
作者:
inroi
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
微调
上级
99bff38f
隐藏空白字符变更
内嵌
并排
正在显示
5 个修改的文件
包含
42 行增加
和
18 行删除
+42
-18
SecurityFilter.java
src/main/java/com/shr/filter/SecurityFilter.java
+21
-1
VerifyTicketServlet.java
src/main/java/com/shr/filter/VerifyTicketServlet.java
+16
-11
CommonUtil.java
src/main/java/com/shr/utils/CommonUtil.java
+2
-2
LtpaToken.properties
src/main/resources/LtpaToken.properties
+2
-3
application-docker.yml
src/main/resources/application-docker.yml
+1
-1
没有找到文件。
src/main/java/com/shr/filter/SecurityFilter.java
浏览文件 @
aa3b4438
package
com
.
shr
.
filter
;
package
com
.
shr
.
filter
;
import
com.alibaba.fastjson.JSON
;
import
com.shr.common.response.RestResponse
;
import
com.shr.config.ThreadLocalConfig
;
import
com.shr.config.ThreadLocalConfig
;
import
org.eetrust.security.client.util.AssertionHolder
;
import
org.eetrust.security.client.util.AssertionHolder
;
...
@@ -9,6 +11,7 @@ import javax.servlet.http.HttpServletRequest;
...
@@ -9,6 +11,7 @@ import javax.servlet.http.HttpServletRequest;
import
javax.servlet.http.HttpServletResponse
;
import
javax.servlet.http.HttpServletResponse
;
import
javax.servlet.http.HttpSession
;
import
javax.servlet.http.HttpSession
;
import
java.io.IOException
;
import
java.io.IOException
;
import
java.io.PrintWriter
;
/**
/**
* @author Inori
* @author Inori
...
@@ -18,7 +21,7 @@ public class SecurityFilter implements Filter {
...
@@ -18,7 +21,7 @@ public class SecurityFilter implements Filter {
public
static
final
String
SUBJECT_USER
=
"_subject_user_"
;
public
static
final
String
SUBJECT_USER
=
"_subject_user_"
;
@Override
@Override
public
void
init
(
FilterConfig
filterConfig
)
throws
ServletException
{
public
void
init
(
FilterConfig
filterConfig
)
{
}
}
@Override
@Override
...
@@ -29,6 +32,7 @@ public class SecurityFilter implements Filter {
...
@@ -29,6 +32,7 @@ public class SecurityFilter implements Filter {
final
HttpServletResponse
response
=
(
HttpServletResponse
)
servletResponse
;
final
HttpServletResponse
response
=
(
HttpServletResponse
)
servletResponse
;
final
HttpSession
session
=
request
.
getSession
(
false
);
final
HttpSession
session
=
request
.
getSession
(
false
);
if
(
session
==
null
)
{
if
(
session
==
null
)
{
this
.
writeResponse
(
response
,
"This Session Not Found"
);
//response.sendRedirect(request.getContextPath() + "/accessDenied.jsp");
//response.sendRedirect(request.getContextPath() + "/accessDenied.jsp");
return
;
return
;
}
}
...
@@ -38,6 +42,7 @@ public class SecurityFilter implements Filter {
...
@@ -38,6 +42,7 @@ public class SecurityFilter implements Filter {
if
(
user
==
null
)
{
if
(
user
==
null
)
{
user
=
AssertionHolder
.
getAssertion
().
getPrincipal
().
getName
();
user
=
AssertionHolder
.
getAssertion
().
getPrincipal
().
getName
();
if
(
user
==
null
)
{
if
(
user
==
null
)
{
this
.
writeResponse
(
response
,
"This Session Not Found"
);
//response.sendRedirect(request.getContextPath() + "/accessDenied.jsp");
//response.sendRedirect(request.getContextPath() + "/accessDenied.jsp");
return
;
return
;
}
}
...
@@ -54,5 +59,20 @@ public class SecurityFilter implements Filter {
...
@@ -54,5 +59,20 @@ public class SecurityFilter implements Filter {
public
void
destroy
()
{
public
void
destroy
()
{
}
}
private
void
writeResponse
(
HttpServletResponse
httpServletResponse
,
String
message
)
{
httpServletResponse
.
setHeader
(
"Cache-Control"
,
"no-store, max-age=0, no-cache, must-revalidate"
);
httpServletResponse
.
addHeader
(
"Cache-Control"
,
"post-check=0, pre-check=0"
);
httpServletResponse
.
setHeader
(
"Pragma"
,
"no-cache"
);
httpServletResponse
.
setCharacterEncoding
(
"UTF-8"
);
httpServletResponse
.
setContentType
(
"application/json;charset=UTF-8"
);
RestResponse
resp
=
RestResponse
.
fail
(
message
).
setCode
(
RestResponse
.
CODE_TOKEN_NOTFOUND
);
try
(
PrintWriter
printWriter
=
httpServletResponse
.
getWriter
())
{
printWriter
.
write
(
JSON
.
toJSONString
(
resp
));
}
catch
(
IOException
e
)
{
e
.
printStackTrace
();
}
}
}
}
src/main/java/com/shr/filter/VerifyTicketServlet.java
浏览文件 @
aa3b4438
package
com
.
shr
.
filter
;
package
com
.
shr
.
filter
;
import
com.alibaba.fastjson.JSON
;
import
com.eetrust.security.plugin.MessageConstants
;
import
com.eetrust.security.plugin.MessageConstants
;
import
com.eetrust.security.plugin.SIDPlugin
;
import
com.eetrust.security.plugin.SIDPlugin
;
import
com.shr.common.response.RestResponse
;
import
com.shr.utils.StringUtil
;
import
com.shr.utils.StringUtil
;
import
javax.servlet.ServletConfig
;
import
javax.servlet.ServletConfig
;
...
@@ -11,6 +13,7 @@ import javax.servlet.http.HttpServlet;
...
@@ -11,6 +13,7 @@ import javax.servlet.http.HttpServlet;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletResponse
;
import
javax.servlet.http.HttpServletResponse
;
import
java.io.IOException
;
import
java.io.IOException
;
import
java.io.PrintWriter
;
/**
/**
* @author Inori
* @author Inori
...
@@ -28,7 +31,7 @@ public class VerifyTicketServlet extends HttpServlet {
...
@@ -28,7 +31,7 @@ public class VerifyTicketServlet extends HttpServlet {
public
void
doPost
(
HttpServletRequest
request
,
HttpServletResponse
response
)
{
public
void
doPost
(
HttpServletRequest
request
,
HttpServletResponse
response
)
{
String
ticket
=
request
.
getParameter
(
"ticket"
);
String
ticket
=
request
.
getParameter
(
"ticket"
);
if
(
StringUtil
.
isEmpty
(
ticket
))
{
if
(
StringUtil
.
isEmpty
(
ticket
))
{
this
.
responseJsonMsg
(
response
,
"单点登录缺少登录票据[ticket]信息!"
);
this
.
writeResponse
(
response
,
"单点登录缺少登录票据[ticket]信息!"
);
return
;
return
;
}
}
...
@@ -46,14 +49,14 @@ public class VerifyTicketServlet extends HttpServlet {
...
@@ -46,14 +49,14 @@ public class VerifyTicketServlet extends HttpServlet {
if
(
result
==
MessageConstants
.
SECURITY_SERVICE_SUCCESS
)
{
if
(
result
==
MessageConstants
.
SECURITY_SERVICE_SUCCESS
)
{
// 票据验证成功, 获取用户唯一标识
// 票据验证成功, 获取用户唯一标识
String
passport
=
sid
.
getPassport
();
String
passport
=
sid
.
getPassport
();
this
.
responseJsonMsg
(
response
,
"单点登录成功! 用户唯一标识: "
+
passport
);
this
.
writeResponse
(
response
,
"单点登录成功! 用户唯一标识: "
+
passport
);
}
else
{
}
else
{
// 认证失败, 获取错误编码
// 认证失败, 获取错误编码
String
errorCode
=
sid
.
getErrorCode
();
String
errorCode
=
sid
.
getErrorCode
();
// 认证失败, 获取错误信息
// 认证失败, 获取错误信息
String
errorMsg
=
sid
.
getErrorMsg
();
String
errorMsg
=
sid
.
getErrorMsg
();
this
.
responseJsonMsg
(
response
,
"单点登录失败! 错误编码: "
+
errorCode
+
", 错误信息: "
+
errorMsg
);
this
.
writeResponse
(
response
,
"单点登录失败! 错误编码: "
+
errorCode
+
", 错误信息: "
+
errorMsg
);
}
}
}
}
...
@@ -62,14 +65,16 @@ public class VerifyTicketServlet extends HttpServlet {
...
@@ -62,14 +65,16 @@ public class VerifyTicketServlet extends HttpServlet {
doPost
(
request
,
response
);
doPost
(
request
,
response
);
}
}
public
void
responseJsonMsg
(
HttpServletResponse
response
,
String
msg
)
{
private
void
writeResponse
(
HttpServletResponse
httpServletResponse
,
String
message
)
{
try
{
httpServletResponse
.
setHeader
(
"Cache-Control"
,
"no-store, max-age=0, no-cache, must-revalidate"
);
response
.
setHeader
(
"Cache-Control"
,
"no-store, max-age=0, no-cache, must-revalidate"
);
httpServletResponse
.
addHeader
(
"Cache-Control"
,
"post-check=0, pre-check=0"
);
response
.
addHeader
(
"Cache-Control"
,
"post-check=0, pre-check=0"
);
httpServletResponse
.
setHeader
(
"Pragma"
,
"no-cache"
);
response
.
setHeader
(
"Pragma"
,
"no-cache"
);
httpServletResponse
.
setCharacterEncoding
(
"UTF-8"
);
response
.
setContentType
(
"text/plain;charset=UTF-8"
);
httpServletResponse
.
setContentType
(
"application/json;charset=UTF-8"
);
response
.
getWriter
().
write
(
msg
);
response
.
flushBuffer
();
RestResponse
resp
=
RestResponse
.
fail
(
message
).
setCode
(
RestResponse
.
CODE_TOKEN_NOTFOUND
);
try
(
PrintWriter
printWriter
=
httpServletResponse
.
getWriter
())
{
printWriter
.
write
(
JSON
.
toJSONString
(
resp
));
}
catch
(
IOException
e
)
{
}
catch
(
IOException
e
)
{
e
.
printStackTrace
();
e
.
printStackTrace
();
}
}
...
...
src/main/java/com/shr/utils/CommonUtil
s
.java
→
src/main/java/com/shr/utils/CommonUtil.java
浏览文件 @
aa3b4438
...
@@ -7,12 +7,12 @@ import java.util.*;
...
@@ -7,12 +7,12 @@ import java.util.*;
/**
/**
* @author Inori
* @author Inori
*/
*/
public
class
CommonUtil
s
{
public
class
CommonUtil
{
private
static
final
String
BUNDLE_NAME
=
"com.eetrust.security.sso.config"
;
private
static
final
String
BUNDLE_NAME
=
"com.eetrust.security.sso.config"
;
private
static
final
ResourceBundle
RESOURCE_BUNDLE
=
ResourceBundle
.
getBundle
(
BUNDLE_NAME
);
private
static
final
ResourceBundle
RESOURCE_BUNDLE
=
ResourceBundle
.
getBundle
(
BUNDLE_NAME
);
private
CommonUtil
s
()
{
private
CommonUtil
()
{
}
}
public
static
String
getString
(
String
key
)
{
public
static
String
getString
(
String
key
)
{
...
...
src/main/resources/LtpaToken.properties
浏览文件 @
aa3b4438
#
#
#T
hu Feb 10 15:27:19
CST 2022
#T
ue Jul 19 17:57:20
CST 2022
otp.domino.secret
=
erewqreqr876
otp.domino.secret
=
erewqreqr876
cookie.domain
=
.vanke.com
cookie.domain
=
.vanke.com
openid.domino.secret
=
erewqre99988
openid.domino.secret
=
erewqre99988
email.domino.secret
=
erewqreqr888
email.domino.secret
=
erewqreqr888
token.expiration
=
30
token.expiration
=
30
domino.secret
=
BfTfatX8F+HwNNejYEGtu3ZSJTWOZ/t8
\=
domino.secret
=
BTfa8F+HwNejYEGtuZShJTW3OZw/1t8E
\=
\ No newline at end of file
src/main/resources/application-docker.yml
浏览文件 @
aa3b4438
...
@@ -21,7 +21,7 @@ spring:
...
@@ -21,7 +21,7 @@ spring:
datasource
:
datasource
:
url
:
jdbc:mysql://127.0.0.1:3306/shr_server?autoReconnect=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&serverTimezone=CTT&allowPublicKeyRetrieval=true
url
:
jdbc:mysql://127.0.0.1:3306/shr_server?autoReconnect=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&serverTimezone=CTT&allowPublicKeyRetrieval=true
username
:
inori
username
:
root
password
:
123456
password
:
123456
driver-class-name
:
com.mysql.cj.jdbc.Driver
driver-class-name
:
com.mysql.cj.jdbc.Driver
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论