Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
N
nouiWithSpringMVC
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
gechengyang
nouiWithSpringMVC
Commits
863a8d92
Commit
863a8d92
authored
Sep 09, 2020
by
WeiCong
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
验证码和工具类回退
parent
f9c83778
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
39 additions
and
44 deletions
+39
-44
NoUiVersion.java
...a/org/sss/presentation/noui/api/response/NoUiVersion.java
+1
-1
AbstractCommonController.java
...resentation/noui/controller/AbstractCommonController.java
+4
-4
FileBrowserController.java
...s/presentation/noui/controller/FileBrowserController.java
+3
-3
LoginController.java
...org/sss/presentation/noui/controller/LoginController.java
+6
-6
UkeyLoginController.java
...sss/presentation/noui/controller/UkeyLoginController.java
+4
-4
FileTypeInterceptor.java
...org/sss/presentation/noui/filter/FileTypeInterceptor.java
+3
-3
OpenTransInterceptor.java
...a/org/sss/presentation/noui/jwt/OpenTransInterceptor.java
+10
-15
TokenInterceptor.java
.../java/org/sss/presentation/noui/jwt/TokenInterceptor.java
+8
-8
No files found.
src/main/java/org/sss/presentation/noui/api/response/NoUi
Param
.java
→
src/main/java/org/sss/presentation/noui/api/response/NoUi
Version
.java
View file @
863a8d92
package
org
.
sss
.
presentation
.
noui
.
api
.
response
;
public
class
NoUi
Param
{
public
class
NoUi
Version
{
private
String
version
=
"1.0.0"
;
...
...
src/main/java/org/sss/presentation/noui/controller/AbstractCommonController.java
View file @
863a8d92
...
...
@@ -23,7 +23,7 @@ import org.sss.presentation.noui.api.exception.NoUiException;
import
org.sss.presentation.noui.api.model.Alias
;
import
org.sss.presentation.noui.api.request.NoUiRequest
;
import
org.sss.presentation.noui.api.response.ErrorCodes
;
import
org.sss.presentation.noui.api.response.NoUi
Param
;
import
org.sss.presentation.noui.api.response.NoUi
Version
;
import
org.sss.presentation.noui.api.response.Result
;
import
org.sss.presentation.noui.api.response.ResultUtil
;
import
org.sss.presentation.noui.common.Constants
;
...
...
@@ -48,7 +48,7 @@ public abstract class AbstractCommonController {
protected
static
String
ON_STREAM_DOWNLOAD
=
"ON_STREAM_DOWNLOAD"
;
@Autowired
private
NoUi
Param
noUiParam
;
private
NoUi
Version
noUiVersion
;
public
String
getMainPanel
(){
return
""
;
...
...
@@ -139,10 +139,10 @@ public abstract class AbstractCommonController {
Map
<
String
,
Object
>
afterReturnData
=
handleReturnData
(
eventType
,
context
,
noUiRequest
,
alias
);
ret
=
ResultUtil
.
result
(
NoUiPresentationUtil
.
retCode
(
context
),
NoUiPresentationUtil
.
retMsg
(
context
),
afterReturnData
,
NoUiPresentationUtil
.
handleErrorReturnData
(
context
,
alias
),
NoUiPresentationUtil
.
handleCodeTableReturnData
(
context
,
alias
),
noUiParam
.
getVersion
());
NoUiPresentationUtil
.
handleErrorReturnData
(
context
,
alias
),
NoUiPresentationUtil
.
handleCodeTableReturnData
(
context
,
alias
),
noUiVersion
.
getVersion
());
}
catch
(
Exception
e
)
{
log
.
error
(
"OnClick command error"
,
e
);
ret
=
ResultUtil
.
result
(
ErrorCodes
.
ERROR
,
"hander error"
,
e
.
getMessage
(),
noUiParam
.
getVersion
());
ret
=
ResultUtil
.
result
(
ErrorCodes
.
ERROR
,
"hander error"
,
e
.
getMessage
(),
noUiVersion
.
getVersion
());
}
finally
{
if
(
context
!=
null
)
{
...
...
src/main/java/org/sss/presentation/noui/controller/FileBrowserController.java
View file @
863a8d92
...
...
@@ -9,7 +9,7 @@ import org.springframework.http.HttpStatus;
import
org.springframework.http.ResponseEntity
;
import
org.springframework.stereotype.Controller
;
import
org.springframework.web.bind.annotation.*
;
import
org.sss.presentation.noui.api.response.NoUi
Param
;
import
org.sss.presentation.noui.api.response.NoUi
Version
;
import
org.sss.presentation.noui.common.Constants
;
import
org.sss.presentation.noui.jwt.RedisLoginInfo
;
import
org.sss.presentation.noui.util.RedisUtil
;
...
...
@@ -24,14 +24,14 @@ public class FileBrowserController {
private
static
final
Log
log
=
LogFactory
.
getLog
(
FileBrowserController
.
class
);
@Autowired
private
NoUi
Param
noUiParam
;
private
NoUi
Version
noUiVersion
;
@RequestMapping
(
value
=
"/fileBrowser/{docpath}/{usrName}/{fileName}/{fileExt}/{safeCode}"
,
method
=
RequestMethod
.
GET
)
public
ResponseEntity
download
(
@PathVariable
String
docpath
,
@PathVariable
String
usrName
,
@PathVariable
String
fileName
,
@PathVariable
String
fileExt
,
@PathVariable
String
safeCode
)
{
try
{
String
file
=
fileName
+
"."
+
fileExt
;
if
(
checkFileName
(
fileName
)
&&
authVerify
(
usrName
,
file
,
safeCode
))
{
byte
[]
bytes
=
FileUtils
.
readFileToByteArray
(
new
File
(
noUi
Param
.
getRootFilePath
()+
docpath
+
"/"
+
file
));
byte
[]
bytes
=
FileUtils
.
readFileToByteArray
(
new
File
(
noUi
Version
.
getRootFilePath
()+
docpath
+
"/"
+
file
));
HttpHeaders
headers
=
new
HttpHeaders
();
headers
.
set
(
"Content-Disposition"
,
"attachment;filename="
+
file
);
ResponseEntity
entity
=
new
ResponseEntity
<>(
bytes
,
headers
,
HttpStatus
.
OK
);
...
...
src/main/java/org/sss/presentation/noui/controller/LoginController.java
View file @
863a8d92
...
...
@@ -14,7 +14,7 @@ import org.sss.presentation.noui.api.model.Menu;
import
org.sss.presentation.noui.api.request.NoUiRequest
;
import
org.sss.presentation.noui.api.response.ErrorCode
;
import
org.sss.presentation.noui.api.response.ErrorCodes
;
import
org.sss.presentation.noui.api.response.NoUi
Param
;
import
org.sss.presentation.noui.api.response.NoUi
Version
;
import
org.sss.presentation.noui.api.response.ResultUtil
;
import
org.sss.presentation.noui.common.Constants
;
import
org.sss.presentation.noui.context.NoUiContext
;
...
...
@@ -37,7 +37,7 @@ public class LoginController {
public
static
final
String
ERROR
=
"error"
;
@Autowired
private
NoUi
Param
noUiParam
;
private
NoUi
Version
noUiVersion
;
@ResponseBody
@RequestMapping
(
value
=
"/login"
,
method
=
RequestMethod
.
POST
)
...
...
@@ -90,23 +90,23 @@ public class LoginController {
//解决初次登陆,超期限登陆
final
Object
o
=
map
.
get
(
ERROR
);
if
(
Objects
.
isNull
(
o
))
{
return
ResultUtil
.
result
(
ErrorCodes
.
SUCCESS
,
ErrorCodes
.
SUCCESS_INFO
,
retDatamap
,
noUiParam
.
getVersion
());
return
ResultUtil
.
result
(
ErrorCodes
.
SUCCESS
,
ErrorCodes
.
SUCCESS_INFO
,
retDatamap
,
noUiVersion
.
getVersion
());
}
else
{
ErrorCode
errorCode
=
(
ErrorCode
)
o
;
log
.
error
(
errorCode
);
return
ResultUtil
.
result
(
errorCode
.
getCode
(),
errorCode
.
getMessage
(),
retDatamap
,
noUiParam
.
getVersion
());
return
ResultUtil
.
result
(
errorCode
.
getCode
(),
errorCode
.
getMessage
(),
retDatamap
,
noUiVersion
.
getVersion
());
}
}
else
{
final
ErrorCode
errorCode
=
(
ErrorCode
)
map
.
get
(
ERROR
);
log
.
error
(
errorCode
);
session
.
removeAttribute
(
Constants
.
VERIFYCODE
);
return
ResultUtil
.
result
(
errorCode
.
getCode
(),
errorCode
.
getMessage
(),
null
,
noUiParam
.
getVersion
());
return
ResultUtil
.
result
(
errorCode
.
getCode
(),
errorCode
.
getMessage
(),
null
,
noUiVersion
.
getVersion
());
}
}
catch
(
Exception
e
)
{
log
.
error
(
"Login command error"
,
e
);
//throw new NoUiException("Login command error", e);
// return ResultUtil.result(ErrorCodes.ERROR, "login failed with exception", null);
return
ResultUtil
.
result
(
ErrorCode
.
SYSTEM_ERROR
.
getCode
(),
ErrorCode
.
SYSTEM_ERROR
.
getMessage
(),
null
,
noUiParam
.
getVersion
());
return
ResultUtil
.
result
(
ErrorCode
.
SYSTEM_ERROR
.
getCode
(),
ErrorCode
.
SYSTEM_ERROR
.
getMessage
(),
null
,
noUiVersion
.
getVersion
());
}
finally
{
if
(
context
!=
null
)
...
...
src/main/java/org/sss/presentation/noui/controller/UkeyLoginController.java
View file @
863a8d92
...
...
@@ -13,7 +13,7 @@ import org.sss.common.model.Argument;
import
org.sss.common.model.IResult
;
import
org.sss.presentation.noui.api.request.NoUiRequest
;
import
org.sss.presentation.noui.api.response.ErrorCodes
;
import
org.sss.presentation.noui.api.response.NoUi
Param
;
import
org.sss.presentation.noui.api.response.NoUi
Version
;
import
org.sss.presentation.noui.api.response.ResultUtil
;
import
org.sss.presentation.noui.context.NoUiContext
;
import
org.sss.presentation.noui.context.NoUiContextManager
;
...
...
@@ -28,7 +28,7 @@ import java.util.Map;
public
class
UkeyLoginController
{
@Autowired
private
NoUi
Param
noUiParam
;
private
NoUi
Version
noUiVersion
;
private
static
final
Log
log
=
LogFactory
.
getLog
(
UkeyLoginController
.
class
);
@ResponseBody
...
...
@@ -47,12 +47,12 @@ public class UkeyLoginController {
{
retDatamap
.
put
(
"msgCode"
,
"0000"
);
retDatamap
.
put
(
"loginid"
,
loginid
);
return
ResultUtil
.
result
(
ErrorCodes
.
SUCCESS
,
ErrorCodes
.
SUCCESS_INFO
,
retDatamap
,
noUiParam
.
getVersion
());
return
ResultUtil
.
result
(
ErrorCodes
.
SUCCESS
,
ErrorCodes
.
SUCCESS_INFO
,
retDatamap
,
noUiVersion
.
getVersion
());
}
}
retDatamap
.
put
(
"msgCode"
,
"9999"
);
retDatamap
.
put
(
"loginid"
,
""
);
return
ResultUtil
.
result
(
ErrorCodes
.
SUCCESS
,
ErrorCodes
.
SUCCESS_INFO
,
retDatamap
,
noUiParam
.
getVersion
());
return
ResultUtil
.
result
(
ErrorCodes
.
SUCCESS
,
ErrorCodes
.
SUCCESS_INFO
,
retDatamap
,
noUiVersion
.
getVersion
());
}
private
Map
<
String
,
Object
>
getLoginidByDN
(
String
certdn
,
NoUiRequest
noUiRequest
)
{
...
...
src/main/java/org/sss/presentation/noui/filter/FileTypeInterceptor.java
View file @
863a8d92
...
...
@@ -7,7 +7,7 @@ import org.springframework.web.multipart.MultipartFile;
import
org.springframework.web.multipart.MultipartHttpServletRequest
;
import
org.springframework.web.servlet.handler.HandlerInterceptorAdapter
;
import
org.sss.presentation.noui.api.response.ErrorCodes
;
import
org.sss.presentation.noui.api.response.NoUi
Param
;
import
org.sss.presentation.noui.api.response.NoUi
Version
;
import
org.sss.presentation.noui.api.response.Result
;
import
javax.servlet.http.HttpServletRequest
;
...
...
@@ -22,7 +22,7 @@ import java.util.Map;
public
class
FileTypeInterceptor
extends
HandlerInterceptorAdapter
{
@Autowired
private
NoUi
Param
noUiParam
;
private
NoUi
Version
noUiVersion
;
private
String
type_list
;
...
...
@@ -44,7 +44,7 @@ public class FileTypeInterceptor extends HandlerInterceptorAdapter {
//限制文件类型,请求转发到原始请求页面,并携带错误提示信息
flag
=
false
;
response
.
setContentType
(
"application/json; charset=utf-8"
);
Result
result
=
new
Result
(
ErrorCodes
.
ERROR
,
"不支持的文件类型!"
,
null
,
noUiParam
.
getVersion
());
Result
result
=
new
Result
(
ErrorCodes
.
ERROR
,
"不支持的文件类型!"
,
null
,
noUiVersion
.
getVersion
());
PrintWriter
out
=
response
.
getWriter
();
String
json
=
new
Gson
().
toJson
(
result
);
out
.
print
(
json
);
...
...
src/main/java/org/sss/presentation/noui/jwt/OpenTransInterceptor.java
View file @
863a8d92
package
org
.
sss
.
presentation
.
noui
.
jwt
;
import
java.io.PrintWriter
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletResponse
;
import
com.google.gson.Gson
;
import
log.Log
;
import
log.LogFactory
;
import
org.apache.commons.lang.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.servlet.HandlerInterceptor
;
import
org.springframework.web.servlet.ModelAndView
;
import
org.sss.presentation.noui.api.request.NoUiRequest
;
import
org.sss.presentation.noui.api.response.ErrorCodes
;
import
org.sss.presentation.noui.api.response.NoUi
Param
;
import
org.sss.presentation.noui.api.response.NoUi
Version
;
import
org.sss.presentation.noui.api.response.Result
;
import
org.sss.presentation.noui.common.Constants
;
import
org.sss.presentation.noui.context.NoUiContextManager
;
...
...
@@ -19,18 +17,15 @@ import org.sss.presentation.noui.util.NumericUtil;
import
org.sss.presentation.noui.util.RedisUtil
;
import
org.sss.presentation.noui.util.StringUtil
;
import
com.google.gson.Gson
;
import
log.Log
;
import
log.LogFactory
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletResponse
;
import
java.io.PrintWriter
;
public
class
OpenTransInterceptor
implements
HandlerInterceptor
{
protected
static
final
Log
log
=
LogFactory
.
getLog
(
OpenTransInterceptor
.
class
);
@Autowired
private
NoUi
Param
noUiParam
;
private
NoUi
Version
noUiVersion
;
public
void
afterCompletion
(
HttpServletRequest
request
,
HttpServletResponse
response
,
Object
handler
,
Exception
arg3
)
throws
Exception
{
...
...
@@ -67,7 +62,7 @@ public class OpenTransInterceptor implements HandlerInterceptor {
trnnam
=
url
.
substring
(
begpos
,
idx2
);
if
(
trnnam
==
null
)
{
Result
rt
=
new
Result
(
ErrorCodes
.
UNKNOEW_TRANS
,
"未知的交易"
,
null
,
noUiParam
.
getVersion
());
Result
rt
=
new
Result
(
ErrorCodes
.
UNKNOEW_TRANS
,
"未知的交易"
,
null
,
noUiVersion
.
getVersion
());
responseMessage
(
response
,
response
.
getWriter
(),
rt
);
return
false
;
}
...
...
@@ -75,7 +70,7 @@ public class OpenTransInterceptor implements HandlerInterceptor {
log
.
debug
(
"开放访问交易名:"
+
trnnam
);
if
(!
NoUiContextManager
.
openTransactions
.
contains
(
trnnam
))
{
Result
rt
=
new
Result
(
ErrorCodes
.
FORBIDDEN_TRANS
,
"非法访问"
,
null
,
noUiParam
.
getVersion
());
Result
rt
=
new
Result
(
ErrorCodes
.
FORBIDDEN_TRANS
,
"非法访问"
,
null
,
noUiVersion
.
getVersion
());
responseMessage
(
response
,
response
.
getWriter
(),
rt
);
return
false
;
}
...
...
src/main/java/org/sss/presentation/noui/jwt/TokenInterceptor.java
View file @
863a8d92
...
...
@@ -10,7 +10,7 @@ import org.springframework.web.servlet.HandlerInterceptor;
import
org.springframework.web.servlet.ModelAndView
;
import
org.sss.presentation.noui.api.request.NoUiRequest
;
import
org.sss.presentation.noui.api.response.ErrorCodes
;
import
org.sss.presentation.noui.api.response.NoUi
Param
;
import
org.sss.presentation.noui.api.response.NoUi
Version
;
import
org.sss.presentation.noui.api.response.Result
;
import
org.sss.presentation.noui.common.Constants
;
import
org.sss.presentation.noui.util.NoUiUtils
;
...
...
@@ -23,7 +23,7 @@ import com.google.gson.Gson;
public
class
TokenInterceptor
implements
HandlerInterceptor
{
@Autowired
private
NoUi
Param
noUiParam
;
private
NoUi
Version
noUiVersion
;
public
void
afterCompletion
(
HttpServletRequest
request
,
HttpServletResponse
response
,
Object
handler
,
Exception
arg3
)
throws
Exception
{
NoUiUtils
.
clearLoginInfo
();
...
...
@@ -41,14 +41,14 @@ public class TokenInterceptor implements HandlerInterceptor {
String
terminalType
=
noUiRequest
.
getTerminalType
();
// APP WEB
// token不存在
if
(
StringUtil
.
isEmpty
(
token
))
{
Result
rt
=
new
Result
(
ErrorCodes
.
LOGIN_TOKEN_ISNULL
,
"登录token不能为空"
,
null
,
noUiParam
.
getVersion
());
Result
rt
=
new
Result
(
ErrorCodes
.
LOGIN_TOKEN_ISNULL
,
"登录token不能为空"
,
null
,
noUiVersion
.
getVersion
());
responseMessage
(
response
,
response
.
getWriter
(),
rt
);
return
false
;
}
// userId不存在
if
(
StringUtil
.
isEmpty
(
userId
))
{
Result
rt
=
new
Result
(
ErrorCodes
.
LOGIN_ID_ISNULL
,
"用户id不能为空"
,
null
,
noUiParam
.
getVersion
());
Result
rt
=
new
Result
(
ErrorCodes
.
LOGIN_ID_ISNULL
,
"用户id不能为空"
,
null
,
noUiVersion
.
getVersion
());
responseMessage
(
response
,
response
.
getWriter
(),
rt
);
return
false
;
}
...
...
@@ -61,20 +61,20 @@ public class TokenInterceptor implements HandlerInterceptor {
JwtLogin
login
=
JWT
.
unsign
(
token
,
JwtLogin
.
class
);
if
(
login
==
null
||
(!
userId
.
equals
((
login
.
getUserId
()))))
{
Result
rt
=
new
Result
(
ErrorCodes
.
LOGIN_TOKEN_CHECKERROR
,
"用户token或ID验证不通过"
,
null
,
noUiParam
.
getVersion
());
Result
rt
=
new
Result
(
ErrorCodes
.
LOGIN_TOKEN_CHECKERROR
,
"用户token或ID验证不通过"
,
null
,
noUiVersion
.
getVersion
());
responseMessage
(
response
,
response
.
getWriter
(),
rt
);
return
false
;
}
RedisLoginInfo
redisLoginInfo
=
(
RedisLoginInfo
)
RedisUtil
.
get
(
StringUtil
.
userUniqueId
(
noUiRequest
));
if
(
redisLoginInfo
==
null
)
{
Result
rt
=
new
Result
(
ErrorCodes
.
LOGIN_ERROR
,
"登陆异常"
,
null
,
noUiParam
.
getVersion
());
Result
rt
=
new
Result
(
ErrorCodes
.
LOGIN_ERROR
,
"登陆异常"
,
null
,
noUiVersion
.
getVersion
());
responseMessage
(
response
,
response
.
getWriter
(),
rt
);
return
false
;
}
//验证token是否一致
if
(!
token
.
equals
(
redisLoginInfo
.
getToken
())){
Result
rt
=
new
Result
(
ErrorCodes
.
LOGIN_TOKEN_CHECKERROR
,
"token失效,该用户被强迫下线"
,
null
,
noUiParam
.
getVersion
());
Result
rt
=
new
Result
(
ErrorCodes
.
LOGIN_TOKEN_CHECKERROR
,
"token失效,该用户被强迫下线"
,
null
,
noUiVersion
.
getVersion
());
responseMessage
(
response
,
response
.
getWriter
(),
rt
);
return
false
;
}
...
...
@@ -82,7 +82,7 @@ public class TokenInterceptor implements HandlerInterceptor {
if
(
System
.
currentTimeMillis
()
>
redisLoginInfo
.
getExpiredTime
())
{
Result
rt
=
new
Result
(
ErrorCodes
.
LOGIN_TIMEOUT
,
"会话超时,请重新登录。超时时间戳:"
+
redisLoginInfo
.
getExpiredTime
()+
",当前时间戳:"
+
System
.
currentTimeMillis
(),
null
,
noUiParam
.
getVersion
());
",当前时间戳:"
+
System
.
currentTimeMillis
(),
null
,
noUiVersion
.
getVersion
());
responseMessage
(
response
,
response
.
getWriter
(),
rt
);
return
false
;
}
...
...
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