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
01135a00
Commit
01135a00
authored
3 years ago
by
WeiCong
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
增加基于人行coas单点登录功能
parent
3c702010
master
…
guangda
No related merge requests found
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
289 additions
and
99 deletions
+289
-99
DatabaseLoginContextForELCS.java
...com/brilliance/eibs/auth/DatabaseLoginContextForELCS.java
+0
-0
CoasHandleController.java
...ss/presentation/noui/controller/CoasHandleController.java
+169
-0
LoginController.java
...org/sss/presentation/noui/controller/LoginController.java
+44
-29
HttpClientUtil.java
...n/java/org/sss/presentation/noui/util/HttpClientUtil.java
+0
-0
coas.properties
src/main/resources/coas.properties
+4
-0
spring-mvc.xml
src/main/resources/spring-mvc.xml
+72
-70
No files found.
src/main/java/cn/com/brilliance/eibs/auth/DatabaseLoginContextForELCS.java
View file @
01135a00
This diff is collapsed.
Click to expand it.
src/main/java/org/sss/presentation/noui/controller/CoasHandleController.java
0 → 100644
View file @
01135a00
package
org
.
sss
.
presentation
.
noui
.
controller
;
import
com.google.gson.Gson
;
import
log.Log
;
import
log.LogFactory
;
import
org.hibernate.SQLQuery
;
import
org.hibernate.Session
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.context.annotation.PropertySource
;
import
org.springframework.http.ResponseEntity
;
import
org.springframework.stereotype.Controller
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.servlet.ModelAndView
;
import
org.springframework.web.servlet.view.RedirectView
;
import
org.sss.module.hibernate.HibernateUtils
;
import
org.sss.presentation.noui.util.DataSecurityUtil
;
import
org.sss.presentation.noui.util.HttpClientUtil
;
import
org.sss.presentation.noui.util.StringUtil
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
@Controller
@PropertySource
({
"classpath:coas.properties"
})
public
class
CoasHandleController
{
final
static
Log
log
=
LogFactory
.
getLog
(
CoasHandleController
.
class
);
@Value
(
"${client_id:ESFE}"
)
private
String
client_id
;
@Value
(
"${client_secret}"
)
private
String
client_secret
;
@Value
(
"${coas_server}"
)
private
String
coas_server
;
private
Gson
gson
=
new
Gson
();
@RequestMapping
(
value
=
"/oaut2/callback"
,
method
=
{
RequestMethod
.
POST
,
RequestMethod
.
GET
})
public
ModelAndView
callback
(
@RequestParam
(
"type"
)
String
type
,
@RequestParam
(
"value"
)
String
value
,
@RequestHeader
(
value
=
"certdn"
,
required
=
false
)
String
certdn
,
ModelAndView
view
)
{
try
{
Map
<
String
,
String
>
body
=
new
HashMap
<>();
body
.
put
(
"client_id"
,
client_id
);
body
.
put
(
"client_secret"
,
client_secret
);
body
.
put
(
"code"
,
value
);
String
url
=
coas_server
+
"get_token?client_id={client_id}&client_secret={client_secret}&code={code}"
;
if
(!
StringUtil
.
isEmpty
(
certdn
))
{
body
.
put
(
"user_certdn"
,
certdn
);
url
+=
"&user_certdn={user_certdn}"
;
}
log
.
info
(
"准备请求:"
+
url
+
"请求参数:"
+
body
);
// ResponseEntity<String> res = HttpClientUtil.post(coas_server + "get_token", body, String.class);
ResponseEntity
<
String
>
res
=
HttpClientUtil
.
post
(
url
,
null
,
String
.
class
,
body
);
String
res_str
=
res
.
getBody
();
Map
<
String
,
Object
>
res_body
=
gson
.
fromJson
(
res_str
,
Map
.
class
);
log
.
info
(
"调用coas的get_token接口响应:"
+
res_body
);
checkRes
(
res
,
(
String
)
res_body
.
get
(
"msgCode"
),
(
String
)
res_body
.
get
(
"message"
),
"get_token"
);
String
access_token
=
(
String
)
res_body
.
get
(
"access_token"
);
String
token_type
=
(
String
)
res_body
.
get
(
"token_type"
);
// log.info(String.format("准备调用coas的get_info接口.access_token=[%s],token_type=[%s]", access_token, token_type));
body
=
new
HashMap
<>();
body
.
put
(
"access_token"
,
access_token
);
// res = HttpClientUtil.post(coas_server + "get_info", body, String.class);
url
=
coas_server
+
"get_info?access_token={access_token}"
;
log
.
info
(
"准备请求:"
+
url
+
"请求参数:"
+
body
);
res
=
HttpClientUtil
.
post
(
url
,
null
,
String
.
class
,
body
);
res_str
=
res
.
getBody
();
res_body
=
gson
.
fromJson
(
res_str
,
Map
.
class
);
log
.
info
(
"调用coas的get_info接口响应:"
+
res_body
);
checkRes
(
res
,
(
String
)
res_body
.
get
(
"msgCode"
),
(
String
)
res_body
.
get
(
"message"
),
"get_info"
);
Map
<
String
,
Object
>
info
=
(
Map
<
String
,
Object
>)
res_body
.
get
(
"info"
);
log
.
info
(
"获取到用户信息:"
+
info
);
String
userid
=
(
String
)
info
.
get
(
"loginid"
);
//验证该用户是否在我方存在
Session
session
=
HibernateUtils
.
openSession
(
null
);
SQLQuery
sqlQuery
=
session
.
createSQLQuery
(
"SELECT inr FROM usr WHERE nam='"
+
userid
+
"'"
);
List
list
=
sqlQuery
.
list
();
session
.
close
();
if
(
list
.
size
()
==
0
)
{
//我方没有当前用户
log
.
error
(
"单点登陆失败,电证前置系统没有该用户:"
+
userid
);
view
.
setView
(
new
RedirectView
(
"/esfe/#/login?channel=coas&errtyp=L6665"
,
false
));
return
view
;
}
//动态生成安全盐z
String
[]
pars
=
{
userid
};
String
enc
=
DataSecurityUtil
.
encrypt
(
pars
,
userid
);
//准备调我方主交易
StringBuilder
sb
=
new
StringBuilder
(
"/esfe/#/login?channel=coas&userId="
);
sb
.
append
(
userid
);
sb
.
append
(
"&enc="
);
sb
.
append
(
enc
);
view
.
setView
(
new
RedirectView
(
sb
.
toString
(),
false
));
return
view
;
}
catch
(
Exception
e
)
{
//失败后默认进入我方登陆页面,并给出错误信息
if
(
e
instanceof
CoasInfCallException
)
{
String
errtyp
=
((
CoasInfCallException
)
e
).
getErrorCode
();
view
.
setView
(
new
RedirectView
(
"/esfe/#/login?channel=coas&errtyp="
+
errtyp
,
false
));
}
else
{
log
.
error
(
e
.
getMessage
(),
e
);
view
.
setView
(
new
RedirectView
(
"/esfe/#/login?channel=coas&errtyp=L6666"
,
false
));
}
return
view
;
}
}
/**
* 模拟coas得get_token接口
*
* @return
*/
@ResponseBody
@RequestMapping
(
value
=
"/oaut2/get_token"
,
method
=
RequestMethod
.
POST
)
public
Object
getToken
()
{
Map
<
String
,
String
>
res
=
new
HashMap
<>();
res
.
put
(
"msgCode"
,
"0000"
);
res
.
put
(
"message"
,
"success"
);
res
.
put
(
"token_type"
,
"jwt"
);
res
.
put
(
"expires_in"
,
"3600"
);
res
.
put
(
"access_token"
,
"PExDSWQ+CiAgICAgICAgICAgICAgICA8SXNzQmtDZD4xMDIxMDAwOTk5OTY8L0lzc0JrQ2Q+CiAgICAgICAgICAgICAgICA8TENOYj4yMDE5MDczMTAwMzAwMDAxPC9MQ05iPgogICAgICAgICAgICA8L0xDSWQ+CiAgICAgICAgICAgIDxQcmVzbklkPgogICAgICAgICAgICAgICAgPFByZXNuQmtDb2RlPjEwNTEwMDAwMDAxNzwvUHJlc25Ca0NvZGU+CiAgICAgICAgICAgICAgICA8UHJlc25OYj4xMjM0NTY3ODkxMjM0NTY3ODkxMjwvUHJlc25OYj4KICAgICAgICAgICAgPC9QcmVzbklkPg=="
);
return
res
;
}
/**
* 模拟coas得get_token接口
*
* @return
*/
@ResponseBody
@RequestMapping
(
value
=
"/oaut2/get_info"
,
method
=
RequestMethod
.
POST
)
public
Object
getInfo
()
{
Map
<
String
,
Object
>
res
=
new
HashMap
<>();
res
.
put
(
"msgCode"
,
"0000"
);
res
.
put
(
"message"
,
"success"
);
Map
<
String
,
String
>
info
=
new
HashMap
<>();
info
.
put
(
"loginid"
,
"system02"
);
info
.
put
(
"uname"
,
"共享前置管理员"
);
res
.
put
(
"info"
,
info
);
return
res
;
}
private
void
checkRes
(
ResponseEntity
<
String
>
res
,
String
code
,
String
msg
,
String
inf
)
{
int
status
=
res
.
getStatusCodeValue
();
if
(
200
==
status
)
{
if
(!
"0000"
.
equals
(
code
))
{
log
.
error
(
"调用"
+
inf
+
"接口失败:"
+
code
+
",具体处理信息:"
+
msg
);
throw
new
CoasInfCallException
(
code
);
}
}
else
{
throw
new
IllegalStateException
(
"单点登陆失败,调用coas接口失败,http返回的状态码:"
+
status
);
}
}
class
CoasInfCallException
extends
RuntimeException
{
private
String
errorCode
;
public
CoasInfCallException
(
String
errorCode
)
{
super
(
errorCode
);
this
.
errorCode
=
errorCode
;
}
public
String
getErrorCode
()
{
return
errorCode
;
}
}
}
This diff is collapsed.
Click to expand it.
src/main/java/org/sss/presentation/noui/controller/LoginController.java
View file @
01135a00
...
...
@@ -40,34 +40,50 @@ public class LoginController {
@ResponseBody
@RequestMapping
(
value
=
"/login"
,
method
=
RequestMethod
.
POST
)
public
Object
login
(
@RequestBody
Map
<
String
,
Object
>
dataMap
,
HttpServletRequest
request
,
HttpSession
session
)
{
NoUiContext
context
=
null
;
NoUiContext
context
=
null
;
try
{
NoUiRequest
noUiRequest
=
new
NoUiRequest
(
request
,
""
,
dataMap
);
TxInfo
.
putTxInfo
(
"login"
,
"/login"
,
"login"
);
TxInfo
.
putTxInfo
(
"login"
,
"/login"
,
"login"
);
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
//此map会存储返回错误码
String
userId
=
noUiRequest
.
getDataMap
().
get
(
Constants
.
USERNAME
).
toString
();
String
password
=
noUiRequest
.
getDataMap
().
get
(
Constants
.
PASSWORD
).
toString
();
String
dncode
=
noUiRequest
.
getDataMap
().
get
(
Constants
.
DNCODE
)
==
null
?
null
:
noUiRequest
.
getDataMap
().
get
(
Constants
.
DNCODE
).
toString
();
String
sendcode
=
noUiRequest
.
getDataMap
().
get
(
Constants
.
SENDCODE
)
==
null
?
null
:
noUiRequest
.
getDataMap
().
get
(
Constants
.
SENDCODE
).
toString
();
String
channel
=
noUiRequest
.
getDataMap
().
get
(
"channel"
)
==
null
?
null
:
noUiRequest
.
getDataMap
().
get
(
"channel"
).
toString
();
if
(
channel
!=
null
&&
"coas"
.
equals
(
channel
))
{
//coas单点登陆逻辑
//验证enc合法性
String
[]
pars
=
{
userId
};
String
errmsg
=
DataSecurityUtil
.
checkIllegalData
(
password
,
pars
,
userId
);
if
(
errmsg
!=
null
)
{
return
ResultUtil
.
result
(
"L6664"
,
errmsg
,
null
,
noUiVersion
.
getVersion
());
}
map
.
put
(
"j_username"
,
userId
);
map
.
put
(
"j_password"
,
password
);
map
.
put
(
"j_dncode"
,
channel
);
map
.
put
(
"j_sendcode"
,
channel
);
map
.
put
(
"j_verifycode"
,
channel
);
map
.
put
(
"j_channel"
,
channel
);
}
else
{
//常规登陆逻辑
String
dncode
=
noUiRequest
.
getDataMap
().
get
(
Constants
.
DNCODE
)
==
null
?
null
:
noUiRequest
.
getDataMap
().
get
(
Constants
.
DNCODE
).
toString
();
String
sendcode
=
noUiRequest
.
getDataMap
().
get
(
Constants
.
SENDCODE
)
==
null
?
null
:
noUiRequest
.
getDataMap
().
get
(
Constants
.
SENDCODE
).
toString
();
// String verifycode = request.getSession().getAttribute(Constants.VERIFYCODE)==null?null:request.getSession().getAttribute(Constants.VERIFYCODE).toString();
StringBuilder
key
=
new
StringBuilder
(
sendcode
);
if
(!
StringUtil
.
isEmpty
(
request
.
getRemoteAddr
())){
key
.
append
(
request
.
getRemoteAddr
());
StringBuilder
key
=
new
StringBuilder
(
sendcode
);
if
(!
StringUtil
.
isEmpty
(
request
.
getRemoteAddr
()))
{
key
.
append
(
request
.
getRemoteAddr
());
}
String
kb
=
key
.
toString
().
toLowerCase
();
log
.
info
(
"key==="
+
kb
);
Object
verifycodeobj
=
RedisUtil
.
get
(
kb
);
String
verifycode
=
verifycodeobj
==
null
?
null
:
verifycodeobj
.
toString
();
map
.
put
(
"j_username"
,
userId
);
map
.
put
(
"j_password"
,
password
);
map
.
put
(
"j_dncode"
,
dncode
);
map
.
put
(
"j_sendcode"
,
sendcode
);
map
.
put
(
"j_verifycode"
,
verifycode
);
RedisUtil
.
delete
(
kb
);
}
String
kb
=
key
.
toString
().
toLowerCase
();
log
.
info
(
"key==="
+
kb
);
Object
verifycodeobj
=
RedisUtil
.
get
(
kb
);
String
verifycode
=
verifycodeobj
==
null
?
null
:
verifycodeobj
.
toString
();
map
.
put
(
"j_username"
,
userId
);
map
.
put
(
"j_password"
,
password
);
map
.
put
(
"j_dncode"
,
dncode
);
map
.
put
(
"j_sendcode"
,
sendcode
);
map
.
put
(
"j_verifycode"
,
verifycode
);
RedisUtil
.
delete
(
kb
);
context
=
NoUiContextManager
.
createNoUiContext
(
noUiRequest
);
if
(
context
.
getSession
().
login
(
map
))
{
JwtLogin
login
=
new
JwtLogin
();
login
.
setUserId
(
userId
);
login
.
setPassword
(
password
);
...
...
@@ -92,17 +108,17 @@ public class LoginController {
context
.
getSession
().
chain
(
true
,
"office"
);
byte
[]
sysmodBytes
=
NoUiPresentationUtil
.
sysmodToBytes
(
context
);
// redis中存储用户相关信息
IDatafield
inridf
=
(
IDatafield
)
context
.
getSession
().
getBaseObject
(
context
.
getRoot
(),
"sysmod\\usr\\inr"
);
IDatafield
inridf
=
(
IDatafield
)
context
.
getSession
().
getBaseObject
(
context
.
getRoot
(),
"sysmod\\usr\\inr"
);
RedisLoginInfo
redisLoginInfo
=
new
RedisLoginInfo
(
userId
,
token
,
NumericUtil
.
sessionTimeOut
(),
sysmodBytes
,
noUiRequest
.
getTerminalType
());
redisLoginInfo
.
setUserInr
((
String
)
inridf
.
getValue
());
//设置当前用户主键
redisLoginInfo
.
setUserInr
((
String
)
inridf
.
getValue
());
//设置当前用户主键
request
.
getSession
().
setAttribute
(
"token"
,
token
);
request
.
getSession
().
setAttribute
(
"token"
,
token
);
NoUiUtils
.
logout
(
userId
,
"*"
);
//清理可能存在的历史缓存
NoUiUtils
.
logout
(
userId
,
"*"
);
//清理可能存在的历史缓存
RedisUtil
.
set
(
StringUtil
.
userUniqueId
(
noUiRequest
),
redisLoginInfo
);
RedisUtil
.
set
(
StringUtil
.
getCacheSessionId
(
noUiRequest
.
getUserId
()),
request
.
getSession
().
getId
());
RedisUtil
.
set
(
StringUtil
.
getCacheSessionId
(
noUiRequest
.
getUserId
()),
request
.
getSession
().
getId
());
//解决初次登陆,超期限登陆
final
Object
o
=
map
.
get
(
ERROR
);
...
...
@@ -165,13 +181,12 @@ public class LoginController {
try
{
request
.
getSession
().
removeAttribute
(
"token"
);
NoUiRequest
noUiRequest
=
new
NoUiRequest
(
request
,
""
,
null
);
NoUiUtils
.
logout
(
noUiRequest
.
getUserId
(),
"*"
);
//清理可能存在的历史缓存
return
ResultUtil
.
result
(
ErrorCodes
.
SUCCESS
,
"退出成功"
,
null
);
}
catch
(
Exception
e
)
{
NoUiUtils
.
logout
(
noUiRequest
.
getUserId
(),
"*"
);
//清理可能存在的历史缓存
return
ResultUtil
.
result
(
ErrorCodes
.
SUCCESS
,
"退出成功"
,
null
);
}
catch
(
Exception
e
)
{
}
return
ResultUtil
.
result
(
ErrorCodes
.
ERROR
,
"退出失败"
,
null
);
return
ResultUtil
.
result
(
ErrorCodes
.
ERROR
,
"退出失败"
,
null
);
}
}
This diff is collapsed.
Click to expand it.
src/main/java/org/sss/presentation/noui/util/HttpClientUtil.java
0 → 100644
View file @
01135a00
This diff is collapsed.
Click to expand it.
src/main/resources/coas.properties
0 → 100644
View file @
01135a00
client_id
=
ESFE
client_secret
=
666666
coas_server
=
http://111.1.12.211:8088/coas/oauth2/
\ No newline at end of file
This diff is collapsed.
Click to expand it.
src/main/resources/spring-mvc.xml
View file @
01135a00
<?xml version="1.0" encoding="UTF-8"?>
<beans
xmlns=
"http://www.springframework.org/schema/beans"
xmlns:xsi=
"http://www.w3.org/2001/XMLSchema-instance"
xmlns:context=
"http://www.springframework.org/schema/context"
xmlns:mvc=
"http://www.springframework.org/schema/mvc"
xsi:schemaLocation=
"http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd"
>
<mvc:annotation-driven>
<mvc:message-converters>
<ref
bean=
"stringHttpMessageConverter"
/>
<ref
bean=
"mappingJackson2HttpMessageConverter"
/>
</mvc:message-converters>
</mvc:annotation-driven>
<bean
id=
"stringHttpMessageConverter"
class=
"org.springframework.http.converter.StringHttpMessageConverter"
/>
<!--解决IE浏览器json文件下载和json数据中午乱码的问题-->
<bean
id=
"mappingJackson2HttpMessageConverter"
class=
"org.springframework.http.converter.json.MappingJackson2HttpMessageConverter"
>
<property
name=
"supportedMediaTypes"
>
<list>
<value>
text/html;charset=UTF-8
</value>
</list>
</property>
</bean>
<bean
id=
"multipartResolver"
class=
"org.springframework.web.multipart.commons.CommonsMultipartResolver"
>
<property
name=
"maxUploadSize"
value=
"200000"
/>
<property
name=
"maxInMemorySize"
value=
"200000"
/>
</bean>
<bean
id=
"nouiVersion"
class=
"org.sss.presentation.noui.api.response.NoUiVersion"
>
<property
name=
"version"
value=
"202009091600"
/>
<property
name=
"rootFilePath"
value=
""
/>
</bean>
<mvc:default-servlet-handler
/>
<mvc:interceptors>
<mvc:interceptor>
<mvc:mapping
path=
"/**/*"
/>
<bean
class=
"org.sss.presentation.noui.filter.Cors"
/>
</mvc:interceptor>
<mvc:interceptor>
<!-- 匹配的是url路径, 如果不配置或/**,将拦截所有的Controller -->
<mvc:mapping
path=
"/**"
/>
<!--login 不需要拦截 -->
<mvc:exclude-mapping
path=
"/login"
/>
<mvc:exclude-mapping
path=
"/getUserByDn"
/>
<mvc:exclude-mapping
path=
"/login/**"
/>
<!--<mvc:exclude-mapping path="/fileBrowser/**" />-->
<bean
class=
"org.sss.presentation.noui.jwt.TokenInterceptor"
></bean>
</mvc:interceptor>
<mvc:interceptor>
<mvc:mapping
path=
"/**"
/>
<bean
class=
"org.sss.presentation.noui.filter.FileTypeInterceptor"
>
<property
name=
"type_list"
value=
"bat,sh,js,sql,exe"
/>
</bean>
</mvc:interceptor>
</mvc:interceptors>
<!-- 配置自动扫描的包 -->
<context:component-scan
base-package=
"org.sss.presentation.noui.controller"
></context:component-scan>
<?xml version="1.0" encoding="UTF-8"?>
<beans
xmlns=
"http://www.springframework.org/schema/beans"
xmlns:xsi=
"http://www.w3.org/2001/XMLSchema-instance"
xmlns:context=
"http://www.springframework.org/schema/context"
xmlns:mvc=
"http://www.springframework.org/schema/mvc"
xsi:schemaLocation=
"http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd"
>
<mvc:annotation-driven>
<mvc:message-converters>
<ref
bean=
"stringHttpMessageConverter"
/>
<ref
bean=
"mappingJackson2HttpMessageConverter"
/>
</mvc:message-converters>
</mvc:annotation-driven>
<bean
id=
"stringHttpMessageConverter"
class=
"org.springframework.http.converter.StringHttpMessageConverter"
/>
<!--解决IE浏览器json文件下载和json数据中午乱码的问题-->
<bean
id=
"mappingJackson2HttpMessageConverter"
class=
"org.springframework.http.converter.json.MappingJackson2HttpMessageConverter"
>
<property
name=
"supportedMediaTypes"
>
<list>
<value>
text/html;charset=UTF-8
</value>
</list>
</property>
</bean>
<bean
id=
"multipartResolver"
class=
"org.springframework.web.multipart.commons.CommonsMultipartResolver"
>
<property
name=
"maxUploadSize"
value=
"200000"
/>
<property
name=
"maxInMemorySize"
value=
"200000"
/>
</bean>
<bean
id=
"nouiVersion"
class=
"org.sss.presentation.noui.api.response.NoUiVersion"
>
<property
name=
"version"
value=
"202009091600"
/>
<property
name=
"rootFilePath"
value=
""
/>
</bean>
<mvc:default-servlet-handler
/>
<mvc:interceptors>
<mvc:interceptor>
<mvc:mapping
path=
"/**/*"
/>
<bean
class=
"org.sss.presentation.noui.filter.Cors"
/>
</mvc:interceptor>
<mvc:interceptor>
<!-- 匹配的是url路径, 如果不配置或/**,将拦截所有的Controller -->
<mvc:mapping
path=
"/**"
/>
<!--login 不需要拦截 -->
<mvc:exclude-mapping
path=
"/login"
/>
<mvc:exclude-mapping
path=
"/getUserByDn"
/>
<mvc:exclude-mapping
path=
"/login/**"
/>
<mvc:exclude-mapping
path=
"/oaut2/**"
/>
<!--<mvc:exclude-mapping path="/fileBrowser/**" />-->
<bean
class=
"org.sss.presentation.noui.jwt.TokenInterceptor"
></bean>
</mvc:interceptor>
<mvc:interceptor>
<mvc:mapping
path=
"/**"
/>
<bean
class=
"org.sss.presentation.noui.filter.FileTypeInterceptor"
>
<property
name=
"type_list"
value=
"bat,sh,js,sql,exe"
/>
</bean>
</mvc:interceptor>
</mvc:interceptors>
<!-- 配置自动扫描的包 -->
<context:component-scan
base-package=
"org.sss.presentation.noui.controller"
></context:component-scan>
</beans>
\ No newline at end of file
This diff is collapsed.
Click to expand it.
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