diff --git a/modules/core/src/main/java/com/jeesite/common/shiro/filter/PermissionsAuthorizationFilter.java b/modules/core/src/main/java/com/jeesite/common/shiro/filter/PermissionsAuthorizationFilter.java index 0cf35fb0..3ba516a2 100644 --- a/modules/core/src/main/java/com/jeesite/common/shiro/filter/PermissionsAuthorizationFilter.java +++ b/modules/core/src/main/java/com/jeesite/common/shiro/filter/PermissionsAuthorizationFilter.java @@ -16,6 +16,7 @@ import org.apache.shiro.subject.Subject; import org.apache.shiro.web.util.WebUtils; import com.jeesite.common.config.Global; +import com.jeesite.common.lang.StringUtils; import com.jeesite.common.web.http.ServletUtils; import com.jeesite.common.web.http.wrapper.GetHttpServletRequestWrapper; @@ -66,7 +67,11 @@ public class PermissionsAuthorizationFilter extends org.apache.shiro.web.filter. public static void redirectToDefaultPath(ServletRequest request, ServletResponse response) throws IOException { // AJAX不支持Redirect改用Forward String loginUrl = Global.getProperty("shiro.defaultPath"); - if (ServletUtils.isAjaxRequest((HttpServletRequest) request)) { + HttpServletRequest req = ((HttpServletRequest) request); + if (StringUtils.equals(req.getContextPath()+loginUrl, req.getRequestURI())){ + loginUrl = Global.getProperty("shiro.loginUrl"); + } + if (ServletUtils.isAjaxRequest(req)) { try { request.getRequestDispatcher(loginUrl).forward( new GetHttpServletRequestWrapper(request), response); diff --git a/modules/core/src/test/java/com/jeesite/test/ApplicationTest.java b/modules/core/src/test/java/com/jeesite/test/ApplicationTest.java new file mode 100644 index 00000000..b47a7f23 --- /dev/null +++ b/modules/core/src/test/java/com/jeesite/test/ApplicationTest.java @@ -0,0 +1,27 @@ +/** + * Copyright (c) 2013-Now http://jeesite.com All rights reserved. + */ +package com.jeesite.test; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.test.context.ActiveProfiles; + +import com.jeesite.common.io.PropertiesUtils; + +/** + * JeeSite Web + * @author ThinkGem + * @version 2018-1-8 + */ +@ActiveProfiles("test") +@SpringBootApplication(scanBasePackages={"com.jeesite.modules"}) +public class ApplicationTest { + + public static void main(String[] args) { + SpringApplication app = new SpringApplication(ApplicationTest.class); + app.setDefaultProperties(PropertiesUtils.getInstance().getProperties()); + app.run(args); + } + +} \ No newline at end of file diff --git a/modules/core/src/test/java/com/jeesite/test/DaoTest.java b/modules/core/src/test/java/com/jeesite/test/DaoMapperTest.java similarity index 95% rename from modules/core/src/test/java/com/jeesite/test/DaoTest.java rename to modules/core/src/test/java/com/jeesite/test/DaoMapperTest.java index 91dfae5e..a09b4eb1 100644 --- a/modules/core/src/test/java/com/jeesite/test/DaoTest.java +++ b/modules/core/src/test/java/com/jeesite/test/DaoMapperTest.java @@ -28,7 +28,7 @@ import com.jeesite.modules.sys.entity.User; * @author ThinkGem * @version 2017年2月25日 */ -public class DaoTest extends BaseSpringContextTests { +public class DaoMapperTest extends BaseSpringContextTests { @Autowired private ConfigDao configDao; diff --git a/modules/core/src/test/resource/config/jeesite.yml b/modules/core/src/test/resource/config/jeesite.yml new file mode 100644 index 00000000..ca14e9fe --- /dev/null +++ b/modules/core/src/test/resource/config/jeesite.yml @@ -0,0 +1,11 @@ + +# 数据库连接 +jdbc: + + # Mysql 数据库配置 + type: mysql + driver: com.mysql.jdbc.Driver + url: jdbc:mysql://127.0.0.1:3306/jeesite?useSSL=true&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull + username: root + password: 123456 + testSql: SELECT 1 diff --git a/modules/core/src/test/resource/logback-test.xml b/modules/core/src/test/resource/logback-test.xml index 5355eba7..f9a67d85 100644 --- a/modules/core/src/test/resource/logback-test.xml +++ b/modules/core/src/test/resource/logback-test.xml @@ -1,6 +1,9 @@ + + +