Browse Source

登录过滤配置添加

demon 8 years ago
parent
commit
9dd4e0bbf6

+ 2 - 2
Hos-Framework/src/main/java/com/yihu/ehr/framework/util/operator/ClassFileUtil.java

@ -1,8 +1,8 @@
package com.yihu.ehr.framework.util.operator;
import com.yihu.hos.core.log.Logger;
import com.yihu.hos.core.log.LoggerFactory;
import com.yihu.ehr.framework.util.log.Logger;
import com.yihu.ehr.framework.util.log.LoggerFactory;
import java.io.File;
import java.io.FileInputStream;

+ 22 - 10
hos-admin/pom.xml

@ -21,6 +21,7 @@
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <java.version>1.8</java.version>
        <org.apache.tiles-version>3.0.5</org.apache.tiles-version>
        <!--<main.basedir>${basedir}/../..</main.basedir>-->
        <!--<m2eclipse.wtp.contextRoot>/</m2eclipse.wtp.contextRoot>-->
    </properties>
@ -29,13 +30,13 @@
        <!--<dependency>-->
            <!--<groupId>org.springframework.boot</groupId>-->
            <!--<artifactId>spring-boot-starter-tomcat</artifactId>-->
            <!--<scope>provided</scope>-->
        <!--</dependency>-->
        <!--<dependency>-->
            <!--<groupId>org.apache.tomcat.embed</groupId>-->
            <!--<artifactId>tomcat-embed-jasper</artifactId>-->
            <!--<scope>provided</scope>-->
            <!--<scope>compile</scope>-->
        <!--</dependency>-->
        <dependency>
        <groupId>org.apache.tomcat.embed</groupId>
        <artifactId>tomcat-embed-jasper</artifactId>
        <scope>compile</scope>
    </dependency>
        <!--jxl导出工具-->
        <dependency>
            <groupId>net.sourceforge.jexcelapi</groupId>
@ -58,16 +59,27 @@
        <!--=============tilesJSP布局框架 start =============-->
        <dependency>
            <groupId>org.apache.tiles</groupId>
            <artifactId>tiles-jsp</artifactId>
            <artifactId>tiles-extras</artifactId>
            <version>3.0.5</version>
            <exclusions>
                <exclusion>
                    <groupId>com.google.guava</groupId>
                    <artifactId>guava</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>jstl</artifactId>
            <scope>provided</scope>
            <groupId>org.apache.tiles</groupId>
            <artifactId>tiles-jsp</artifactId>
            <version>${org.apache.tiles-version}</version>
        </dependency>
        <!--=============tiles end =============-->
        <!--========== hibernate start=======-->
        <!--========== hibernate end=========-->
    </dependencies>
    <build>

+ 57 - 0
hos-admin/src/main/java/com/yihu/hos/common/SessionOutTimeFilter.java

@ -0,0 +1,57 @@
package com.yihu.hos.common;
import org.springframework.stereotype.Component;
import org.springframework.web.filter.OncePerRequestFilter;
import javax.servlet.FilterChain;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
/**
 * @author lincl
 * @version 1.0
 * @created 2016/3/26
 */
@Component("loginFilter")
public class SessionOutTimeFilter extends OncePerRequestFilter {
    @Override
    protected void doFilterInternal(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, FilterChain filterChain) throws ServletException, IOException {
        String path = httpServletRequest.getRequestURI();
        if (path.indexOf("/login") != -1
                || path.indexOf("/system/loginAction") != -1
                || path.indexOf("/error") != -1
                || path.indexOf("/datapush") != -1
                || path.indexOf("/crawler") != -1
                || path.indexOf("/patient") != -1
                || path.indexOf("/test.jsp") != -1
                || path.indexOf("/logoutAction") != -1
                || path.indexOf(httpServletRequest.getContextPath() + "/static-dev") != -1
                || path.indexOf(httpServletRequest.getContextPath() + "/develop") != -1
                || path.indexOf(httpServletRequest.getContextPath() + "/rest") != -1
                || path.indexOf("swagger") != -1
                || path.indexOf(httpServletRequest.getContextPath() + "/v2/api-docs") != -1
                || path.indexOf(httpServletRequest.getContextPath() + "/mobile") != -1) {
            filterChain.doFilter(httpServletRequest, httpServletResponse);
            return;
        }
        if (httpServletRequest.getSession(false) == null
                || httpServletRequest.getSession().getAttribute("userInfo")==null) {
            // AJAX REQUEST PROCESS
            if ("XMLHttpRequest".equalsIgnoreCase(httpServletRequest.getHeader("X-Requested-With"))) {
                httpServletResponse.setHeader("sessionStatus", "timeOut");
                httpServletResponse.getWriter().print("{}");
                httpServletResponse.sendRedirect(httpServletRequest.getContextPath() + "/logoutAction");
                return;
            }
            httpServletResponse.sendRedirect(httpServletRequest.getContextPath() + "/loginPage");
            return;
        }
        filterChain.doFilter(httpServletRequest, httpServletResponse);
    }
}

+ 2 - 4
hos-admin/src/main/java/com/yihu/hos/config/WebConfig.java

@ -1,14 +1,12 @@
package com.yihu.hos.config;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
import org.springframework.web.servlet.view.UrlBasedViewResolver;
import org.springframework.web.servlet.view.tiles3.TilesConfigurer;
import org.springframework.web.servlet.view.tiles3.TilesView;
@EnableWebMvc
@Configuration
//@EnableWebMvc
//@Configuration
public class WebConfig {
    @Bean
    public UrlBasedViewResolver tilesViewResolver() {

+ 6 - 3
hos-admin/src/main/java/com/yihu/hos/config/WebMvcConfig.java

@ -1,15 +1,17 @@
package com.yihu.hos.config;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.support.ResourceBundleMessageSource;
import org.springframework.web.servlet.config.annotation.DefaultServletHandlerConfigurer;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
import org.springframework.web.servlet.view.InternalResourceViewResolver;
import org.springframework.web.servlet.view.tiles3.TilesConfigurer;
import org.springframework.web.servlet.view.tiles3.TilesViewResolver;
//@EnableWebMvc
//@Configuration
@EnableWebMvc
@Configuration
public class WebMvcConfig extends WebMvcConfigurerAdapter {
    @Override
@ -44,7 +46,8 @@ public class WebMvcConfig extends WebMvcConfigurerAdapter {
    @Bean
    public TilesConfigurer tilesConfigurer() {
        TilesConfigurer tilesConfigurer = new TilesConfigurer();
        tilesConfigurer.setDefinitions("/WEB-INF/ehr/commons/layout/layout.xml");
        tilesConfigurer.setDefinitions(new String[] { "WEB-INF/ehr/commons/layout/layout.xml" });
        tilesConfigurer.setCheckRefresh(true);
        return tilesConfigurer;
    }

+ 1 - 1
hos-admin/src/main/resources/spring/dispatcher-servlet.xml

@ -29,7 +29,7 @@
    <bean id="tilesConfigurer" class="org.springframework.web.servlet.view.tiles3.TilesConfigurer">
        <property name="definitions">
            <list>
                <value>/WEB-INF/ehr/commons/layout/layout.xml</value>
                <value>file:../webapp/WEB-INF/ehr/commons/layout/layout.xml</value>
            </list>
        </property>
    </bean>

+ 26 - 25
hos-core-dependencies/pom.xml

@ -28,6 +28,7 @@
        <version.jcl-over-slf4j>1.7.19</version.jcl-over-slf4j>
        <version.jul-over-slf4j>1.7.21</version.jul-over-slf4j>
        <version.slf4j>1.7.21</version.slf4j>
        <dependency.scope>compile</dependency.scope>
    </properties>
    <pluginRepositories>
@ -88,32 +89,32 @@
            <artifactId>commons-collections4</artifactId>
            <version>4.0</version>
        </dependency>
        <!--<dependency>-->
        <!--<groupId>commons-io</groupId>-->
        <!--<artifactId>commons-io</artifactId>-->
        <!--<version>2.4</version>-->
        <!--</dependency>-->
        <!--<dependency>-->
        <!--<groupId>org.apache.commons</groupId>-->
        <!--<artifactId>commons-dbcp2</artifactId>-->
        <!--<version>2.1</version>-->
        <!--</dependency>-->
        <dependency>
        <groupId>commons-io</groupId>
        <artifactId>commons-io</artifactId>
        <version>2.4</version>
        </dependency>
        <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-dbcp2</artifactId>
        <version>2.1</version>
        </dependency>
        <!--<dependency>-->
        <!--<groupId>commons-codec</groupId>-->
        <!--<artifactId>commons-codec</artifactId>-->
        <!--<version>1.10</version>-->
        <!--</dependency>-->
        <!--<dependency>-->
        <!--<groupId>commons-configuration</groupId>-->
        <!--<artifactId>commons-configuration</artifactId>-->
        <!--<version>1.10</version>-->
        <!--</dependency>-->
        <!--<dependency>-->
        <!--<groupId>commons-dbutils</groupId>-->
        <!--<artifactId>commons-dbutils</artifactId>-->
        <!--<version>1.6</version>-->
        <!--</dependency>-->
        <dependency>
        <groupId>commons-codec</groupId>
        <artifactId>commons-codec</artifactId>
        <version>1.10</version>
        </dependency>
        <dependency>
        <groupId>commons-configuration</groupId>
        <artifactId>commons-configuration</artifactId>
        <version>1.10</version>
        </dependency>
        <dependency>
        <groupId>commons-dbutils</groupId>
        <artifactId>commons-dbutils</artifactId>
        <version>1.6</version>
        </dependency>
        <dependency>
            <groupId>commons-fileupload</groupId>
            <artifactId>commons-fileupload</artifactId>