Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
Y
yanxuan-qc-change-system
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
胡园园
yanxuan-qc-change-system
Commits
b40ae024
Commit
b40ae024
authored
Nov 22, 2022
by
“zcwang”
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
modify: 登录校验
parent
0a291b58
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
6 additions
and
153 deletions
+6
-153
ChangeFlowBiz.java
...om/netease/mail/yanxuan/change/biz/biz/ChangeFlowBiz.java
+3
-3
AdminUserHolder.java
...ease/mail/yanxuan/change/common/bean/AdminUserHolder.java
+1
-1
AdminUserLoginInterceptor.java
.../yanxuan/change/web/config/AdminUserLoginInterceptor.java
+2
-0
LoginInterceptor.java
...ease/mail/yanxuan/change/web/config/LoginInterceptor.java
+0
-55
UserInterceptor.java
...tease/mail/yanxuan/change/web/config/UserInterceptor.java
+0
-94
No files found.
yanxuan-qc-change-system-biz/src/main/java/com/netease/mail/yanxuan/change/biz/biz/ChangeFlowBiz.java
View file @
b40ae024
...
...
@@ -30,8 +30,8 @@ import com.netease.mail.yanxuan.change.biz.service.ChangeFlowExecService;
import
com.netease.mail.yanxuan.change.biz.service.ChangeFlowService
;
import
com.netease.mail.yanxuan.change.biz.service.change.ChangeConfigService
;
import
com.netease.mail.yanxuan.change.biz.service.change.ChangeTypeService
;
import
com.netease.mail.yanxuan.change.common.bean.AdminUserHolder
;
import
com.netease.mail.yanxuan.change.common.bean.CommonConstants
;
import
com.netease.mail.yanxuan.change.common.bean.RequestLocalBean
;
import
com.netease.mail.yanxuan.change.common.bean.ResponseCode
;
import
com.netease.mail.yanxuan.change.common.bean.ResponseCodeEnum
;
import
com.netease.mail.yanxuan.change.common.enums.ChangeFlowEnum
;
...
...
@@ -101,7 +101,7 @@ public class ChangeFlowBiz {
private
ChangeRecordMapper
changeRecordMapper
;
public
String
createAndSubmit
(
ChangeFlowCreateReq
changeFlowCreateReq
)
{
String
uid
=
RequestLocalBean
.
getUid
();
String
uid
=
AdminUserHolder
.
getUserName
();
// String userName = RequestLocalBean.getName();
// 校验变更主体
checkSubject
(
changeFlowCreateReq
);
...
...
@@ -312,7 +312,7 @@ public class ChangeFlowBiz {
// 检查工单节点
this
.
checkNode
(
changeRecord
.
getFlowNode
(),
changeFlowSubmitReq
.
getCurrentNodeId
());
// todo:检验操作权限
String
uid
=
RequestLocalBean
.
getUid
();
String
uid
=
AdminUserHolder
.
getUserName
();
String
changeCommander
=
changeRecord
.
getChangeCommander
();
if
(!
uid
.
equals
(
changeCommander
))
{
throw
ExceptionFactory
.
createBiz
(
ResponseCode
.
NO_AUTH
,
ResponseCode
.
NO_AUTH
.
getMsg
());
...
...
yanxuan-qc-change-system-
web/src/main/java/com/netease/mail/yanxuan/change/web/config
/AdminUserHolder.java
→
yanxuan-qc-change-system-
common/src/main/java/com/netease/mail/yanxuan/change/common/bean
/AdminUserHolder.java
View file @
b40ae024
...
...
@@ -4,7 +4,7 @@
* Copyright 2020 Netease, Inc. All rights reserved.
* NETEASE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
*/
package
com
.
netease
.
mail
.
yanxuan
.
change
.
web
.
config
;
package
com
.
netease
.
mail
.
yanxuan
.
change
.
common
.
bean
;
import
org.springframework.stereotype.Component
;
...
...
yanxuan-qc-change-system-web/src/main/java/com/netease/mail/yanxuan/change/web/config/AdminUserLoginInterceptor.java
View file @
b40ae024
...
...
@@ -7,6 +7,8 @@ import org.springframework.stereotype.Component;
import
org.springframework.web.servlet.HandlerInterceptor
;
import
org.springframework.web.servlet.ModelAndView
;
import
com.netease.mail.yanxuan.change.common.bean.AdminUserHolder
;
import
lombok.extern.slf4j.Slf4j
;
@Slf4j
...
...
yanxuan-qc-change-system-web/src/main/java/com/netease/mail/yanxuan/change/web/config/LoginInterceptor.java
deleted
100644 → 0
View file @
0a291b58
package
com
.
netease
.
mail
.
yanxuan
.
change
.
web
.
config
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletResponse
;
import
org.apache.commons.lang.StringUtils
;
import
org.springframework.stereotype.Component
;
import
org.springframework.web.servlet.HandlerInterceptor
;
import
org.springframework.web.servlet.ModelAndView
;
import
com.alibaba.fastjson.JSON
;
import
com.netease.mail.yanxuan.change.common.bean.AjaxResult
;
import
com.netease.mail.yanxuan.change.common.bean.RequestLocalBean
;
import
com.netease.mail.yanxuan.change.common.bean.ResponseCodeEnum
;
import
com.netease.mail.yanxuan.change.common.util.ResponseUtil
;
import
lombok.extern.slf4j.Slf4j
;
/**
* 严选用户登录拦截器
*
* @author lwtang
*/
@Component
@Slf4j
public
class
LoginInterceptor
implements
HandlerInterceptor
{
@Override
public
boolean
preHandle
(
HttpServletRequest
request
,
HttpServletResponse
response
,
Object
handler
)
throws
Exception
{
String
yxUid
=
RequestLocalBean
.
getUid
();
if
(
yxUid
==
null
)
{
String
text
=
JSON
.
toJSONString
(
AjaxResult
.
of
(
ResponseCodeEnum
.
SC_UNAUTHORIZED
.
getCode
(),
"not-login"
));
String
callback
=
request
.
getParameter
(
"callback"
);
if
(!
StringUtils
.
isEmpty
(
callback
))
{
text
=
callback
+
"("
+
text
+
")"
;
}
ResponseUtil
.
writeJson
(
response
,
text
);
return
false
;
}
return
true
;
}
@Override
public
void
postHandle
(
HttpServletRequest
request
,
HttpServletResponse
response
,
Object
handler
,
ModelAndView
modelAndView
)
throws
Exception
{
log
.
info
(
"postHandle"
);
}
@Override
public
void
afterCompletion
(
HttpServletRequest
request
,
HttpServletResponse
response
,
Object
handler
,
Exception
ex
)
throws
Exception
{
log
.
info
(
"afterCompletion"
);
}
}
yanxuan-qc-change-system-web/src/main/java/com/netease/mail/yanxuan/change/web/config/UserInterceptor.java
deleted
100644 → 0
View file @
0a291b58
package
com
.
netease
.
mail
.
yanxuan
.
change
.
web
.
config
;
import
javax.servlet.http.Cookie
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletResponse
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.stereotype.Component
;
import
org.springframework.web.servlet.HandlerInterceptor
;
import
org.springframework.web.servlet.ModelAndView
;
import
com.netease.mail.yanxuan.change.common.bean.RequestLocalBean
;
import
com.netease.mail.yx.openid.YxOpenidLogin
;
import
com.netease.mail.yx.openid.YxOpenidUser
;
import
lombok.extern.slf4j.Slf4j
;
/**
* 提取用户uid
*
* @author lwtang
*/
@Component
@Slf4j
public
class
UserInterceptor
implements
HandlerInterceptor
{
@Value
(
"${product:product}"
)
String
product
;
@Override
public
boolean
preHandle
(
HttpServletRequest
request
,
HttpServletResponse
response
,
Object
handler
)
throws
Exception
{
//获取cookie信息
Cookie
[]
cookies
=
request
.
getCookies
();
String
userCookie
=
null
;
if
(
cookies
!=
null
)
{
for
(
Cookie
cookie
:
cookies
)
{
if
(
cookie
.
getName
().
equals
(
"YX_OPENID_SESS"
))
{
userCookie
=
cookie
.
getValue
();
}
}
}
log
.
info
(
"YX_OPENID_SESS: {}"
,
userCookie
);
// 解析cookie
YxOpenidUser
yxuser
=
null
;
if
(
userCookie
!=
null
)
{
yxuser
=
YxOpenidLogin
.
parseCookie
(
userCookie
);
}
// ajax请求,走返回码
String
accept
=
request
.
getHeader
(
"Accept"
);
// cookie不存在或者超过一个小时(时间自己定)
if
(
yxuser
==
null
||
yxuser
.
getLoginTime
()
<
System
.
currentTimeMillis
()
-
60
*
1000
*
1000
)
{
//如果是ajax请求
if
(!
accept
.
contains
(
"text/html"
)
||
request
.
getRequestURI
().
contains
(
"ajax"
))
{
log
.
info
(
"ajax request user is null or login time too early, yxuser: {}"
,
yxuser
);
}
else
{
String
url
=
request
.
getRequestURL
().
toString
();
String
loginUrl
=
YxOpenidLogin
.
getLoginUrl
(
url
);
log
.
info
(
"redirect url: {}"
,
loginUrl
);
response
.
sendRedirect
(
loginUrl
);
}
}
else
{
// 获取用户信息
// 邮箱地址
String
email
=
yxuser
.
getEmail
();
RequestLocalBean
.
setUid
(
email
);
// 中文姓名
String
fullname
=
yxuser
.
getFullName
();
RequestLocalBean
.
setName
(
fullname
);
// 用户登录时间戳
long
loginTime
=
yxuser
.
getLoginTime
();
log
.
info
(
"[UserAccess] user: {}, url: {}"
,
email
,
request
.
getPathInfo
());
RequestLocalBean
.
setLastLoginTime
(
loginTime
);
}
return
true
;
}
@Override
public
void
postHandle
(
HttpServletRequest
request
,
HttpServletResponse
response
,
Object
handler
,
ModelAndView
modelAndView
)
throws
Exception
{
}
@Override
public
void
afterCompletion
(
HttpServletRequest
request
,
HttpServletResponse
response
,
Object
handler
,
Exception
ex
)
throws
Exception
{
RequestLocalBean
.
clear
();
}
}
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