新增 web.jsonp.enabled 参数,默认不开启

This commit is contained in:
thinkgem
2020-02-29 18:53:43 +08:00
parent 12ea728671
commit d6b851a616
3 changed files with 27 additions and 17 deletions

View File

@@ -215,12 +215,13 @@ public class ServletUtils {
if (response != null){
response.setContentType(MediaType.APPLICATION_JSON_UTF8_VALUE);
}
String functionName = request.getParameter("__callback");
if (StringUtils.isNotBlank(functionName)){
return JsonMapper.toJsonp(functionName, resultMap);
}else{
return JsonMapper.toJson(resultMap);
if (ObjectUtils.toBoolean(PropertiesUtils.getInstance().getProperty("web.jsonp.enabled"))) {
String functionName = request.getParameter("__callback");
if (StringUtils.isNotBlank(functionName)){
return JsonMapper.toJsonp(functionName, resultMap);
}
}
return JsonMapper.toJson(resultMap);
}
}else{
if (response != null){
@@ -267,12 +268,13 @@ public class ServletUtils {
.equalsIgnoreCase(request.getParameter("__ajax"), "xml")){
return renderString(response, XmlMapper.toXml(object));
}else{
String functionName = request.getParameter("__callback");
if (StringUtils.isNotBlank(functionName)){
return renderString(response, JsonMapper.toJsonp(functionName, object));
}else{
return renderString(response, JsonMapper.toJson(object));
if (ObjectUtils.toBoolean(PropertiesUtils.getInstance().getProperty("web.jsonp.enabled"))) {
String functionName = request.getParameter("__callback");
if (StringUtils.isNotBlank(functionName)){
return renderString(response, JsonMapper.toJsonp(functionName, object));
}
}
return renderString(response, JsonMapper.toJson(object));
}
}

View File

@@ -350,18 +350,18 @@ shiro:
# 是否允许嵌入到外部网站iframe中true不限制false不允许
isAllowExternalSiteIframe: true
# 是否允许跨域访问,如果允许,设置允许的域名,全部域名设置*号,如果不允许,此设置应该为空
# 是否允许跨域访问 CORS,如果允许,设置允许的域名,全部域名设置*号,如果不允许,此设置应该为空
# accessControlAllowOrigin: http://demo.jeesite.com
# accessControlAllowOrigin: '*'
# 允许跨域访问时,可以使用的方法和响应头
# 允许跨域访问时 CORS,可以使用的方法和响应头
# accessControlAllowMethods: GET, POST, OPTIONS
# accessControlAllowHeaders: Origin, No-Cache, X-Requested-With, If-Modified-Since, Pragma, Last-Modified, Cache-Control, Expires, Content-Type, X-E4M-With
# 是否允许接收跨域的Cookie凭证数据
# 是否允许接收跨域的Cookie凭证数据 CORS
# accessControlAllowCredentials: true
# 允许的网站来源地址不设置为全部地址避免一些跨站点请求伪造CSRF
# 允许的网站来源地址,不设置为全部地址(避免一些跨站点请求伪造 CSRF
# allowReferers: http://127.0.0.1,http://localhost
# allowReferers: ~
@@ -506,6 +506,10 @@ web:
id: '[a-zA-Z0-9_\-/#\u4e00-\u9fa5]{0,64}'
user.loginCode: '[a-zA-Z0-9_\u4e00-\u9fa5]{4,20}'
# 默认不启用(为兼用旧版保留,建议使用 CORS
jsonp:
enabled: false
# 核心模块的Web功能仅作为微服务时设为false
core:
enabled: true

View File

@@ -389,14 +389,18 @@ shiro:
# # 是否允许嵌入到外部网站iframe中true不限制false不允许
# isAllowExternalSiteIframe: true
#
# # 是否允许跨域访问,如果允许,设置允许的域名,全部域名设置*号,如果不允许,此设置应该为空
# # 是否允许跨域访问 CORS,如果允许,设置允许的域名,全部域名设置*号,如果不允许,此设置应该为空
## accessControlAllowOrigin: http://demo.jeesite.com
## accessControlAllowOrigin: '*'
#
# # 是否允许接收跨域的Cookie凭证数据
# # 允许跨域访问时 CORS可以使用的方法和响应头
# accessControlAllowMethods: GET, POST, OPTIONS
# accessControlAllowHeaders: Origin, No-Cache, X-Requested-With, If-Modified-Since, Pragma, Last-Modified, Cache-Control, Expires, Content-Type, X-E4M-With
#
# # 是否允许接收跨域的Cookie凭证数据 CORS
## accessControlAllowCredentials: true
#
# # 允许的网站来源地址不设置为全部地址避免一些跨站点请求伪造CSRF
# # 允许的网站来源地址,不设置为全部地址(避免一些跨站点请求伪造 CSRF
# allowReferers: http://127.0.0.1,http://localhost
# allowReferers: ~
#