精华内容
下载资源
问答
  • Java登陆拦截器

    2019-02-26 14:35:53
    工具类:Login.java package com.prison.util; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.springframework.web.servlet.HandlerInterceptor; ...

    工具类:Login.java

    package com.prison.util;
    
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    import org.springframework.web.servlet.HandlerInterceptor;
    import org.springframework.web.servlet.ModelAndView;
    
    public class Login implements HandlerInterceptor {
    
        
        
        @Override
        public boolean preHandle(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2)throws Exception {
        	
        	if(arg0.getRequestURI().indexOf("login.do")>0) {
    			return true;
    		}
    		System.out.println(arg0.getSession().getAttribute(Constants.USER_CONTEXT)+"<<<<<<<<");
    		if(arg0.getSession().getAttribute(Constants.USER_CONTEXT)!=null) {
    			return true;
    		}
    		arg1.sendRedirect("/Prison/User/prison/sylogin.do");
    		return false;
    	}
        
        @Override
    	public void postHandle(HttpServletRequest request, 
    	          HttpServletResponse response, Object handler,
    	          ModelAndView modelAndView) throws Exception {
    	
    	}
        
        @Override
    	public void afterCompletion(HttpServletRequest request,
    	               HttpServletResponse response, Object handler,
    	               Exception ex) throws Exception {
    	}
    
    }

    工具类:Constants.java

    package com.prison.util;
    
    public class Constants {
    	
    	//用户域
    	public final static String USER_CONTEXT="user"; 
    
    }
    

    spring-mvc.xml配置:

    <mvc:interceptors>  

        <mvc:interceptor>  

         <!-- 拦截全部 -->

            <mvc:mapping path="/**" />

            <!-- 拦截方法 -->

            <mvc:exclude-mapping path="/sylogin.jsp"/>

                <mvc:exclude-mapping path="/Consum/IPay.do" />

                <mvc:exclude-mapping path="/Consum/IOrders.do" />

                <mvc:exclude-mapping path="/archives/ISynUserData.do" />

                <mvc:exclude-mapping path="/archives/getDevicList.do" />

           

            <bean class="com.prison.util.Login"/>  

        </mvc:interceptor>  

    </mvc:interceptors>

     

    web.xml配置:

    <!-- 不拦截静态文件 -->

        <servlet-mapping>

            <servlet-name>default</servlet-name>

            <url-pattern>/js/*</url-pattern>

            <url-pattern>/xiala/*</url-pattern>

            <url-pattern>/image/*</url-pattern>

            <url-pattern>/My97DatePicker/*</url-pattern>

            <url-pattern>/zuiupload/*</url-pattern>

            <url-pattern>/resources/*</url-pattern>

        </servlet-mapping>

    展开全文
  • 首先创建一个FilterServlet类 下面代码package ...import java.io.IOException;import javax.servlet.Filter;import javax.servlet.FilterChain;import javax.servlet.FilterConfig;import javax.servlet.Se...

    首先创建一个FilterServlet类  下面代码

    package com.group.users.util;

    import java.io.IOException;

    import javax.servlet.Filter;

    import javax.servlet.FilterChain;

    import javax.servlet.FilterConfig;

    import javax.servlet.ServletException;

    import javax.servlet.ServletRequest;

    import javax.servlet.ServletResponse;

    import javax.servlet.http.HttpServletRequest;

    import javax.servlet.http.HttpServletResponse;

    import javax.servlet.http.HttpSession;

    import com.group.users.entity.Users;

    public class FilterServlet implements Filter {

    public void destroy() {

    }

    public void doFilter(ServletRequest req, ServletResponse res,

    FilterChain chain) throws IOException, ServletException {

    HttpServletRequest request = (HttpServletRequest) req;

    HttpServletResponse response = (HttpServletResponse) res;

    HttpSession session = request.getSession();

    Users user = (Users) session.getAttribute("users");

    if(user!=null){

    chain.doFilter(request, response);

    }else{

    request.getRequestDispatcher("/index.jsp").forward(request, response);

    }

    }

    public void init(FilterConfig filterConfig) throws ServletException {

    }

    }

    下面wed代码

    FilterServlet

    com.group.users.util.FilterServlet

    FilterServlet

    /admin/*

    展开全文
  • [java]代码库package com.liang.bike.interceptor;import com.liang.bike.bean.base.UserBase;import org.apache.log4j.Logger;import org.springframework.web.servlet.HandlerInterceptor;import org.spring...

    [java]代码库package com.liang.bike.interceptor;

    import com.liang.bike.bean.base.UserBase;

    import org.apache.log4j.Logger;

    import org.springframework.web.servlet.HandlerInterceptor;

    import org.springframework.web.servlet.ModelAndView;

    import javax.servlet.http.HttpServletRequest;

    import javax.servlet.http.HttpServletResponse;

    import javax.servlet.http.HttpSession;

    public class LoginInterceptor implements HandlerInterceptor {

    private Logger logger = Logger.getLogger(LoginInterceptor.class);

    // 身份认证、身份授权

    @Override

    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {

    // 判断session

    HttpSession session = request.getSession();

    UserBase user = (UserBase) session.getAttribute("user");

    boolean flag = false;

    if (user != null) {

    flag = true;

    } else {

    // 获取请求的url

    String redirectUrl = request.getRequestURI();

    session.setAttribute("redirectUrl", redirectUrl);

    String bikeNo = request.getParameter("bikeNo");

    session.setAttribute("bikeNo", bikeNo);

    logger.info("请求的URL" + redirectUrl + bikeNo);

    // 执行这里表示用户身份需要认证,跳转登陆页面

    logger.info("跳转到登录页面:login.jsp");

    request.getRequestDispatcher("/WEB-INF/bike/user/login.jsp").forward(request, response);

    }

    return flag;

    }

    @Override

    public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {

    logger.info("拦截器postHandle方法执行");

    }

    @Override

    public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {

    logger.info("拦截器afterCompletion方法执行");

    }

    }

    694748ed64b9390909c0d88230893790.png

    展开全文
  • /*** 自定义登录拦截器 *@authorV_PS68C7 **/@Slf4j @Componentpublic class LoginInterceptor extends BaseController implementsHandlerInterceptor { @AutowiredprivateRedisService redisService;/*** 在请求...

    packagecom.gmac.backend.management.interceptor;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;importorg.springframework.beans.factory.annotation.Autowired;importorg.springframework.security.oauth2.common.exceptions.InvalidTokenException;importorg.springframework.stereotype.Component;importorg.springframework.web.servlet.HandlerInterceptor;importorg.springframework.web.servlet.ModelAndView;importcom.gmac.backend.management.controller.BaseController;importcom.gmac.backend.management.redis.RedisService;importcom.gmac.common.utils.StringUtil;importlombok.extern.slf4j.Slf4j;/*** 自定义登录拦截器

    *@authorV_PS68C7

    **/@Slf4j

    @Componentpublic class LoginInterceptor extends BaseController implementsHandlerInterceptor {

    @AutowiredprivateRedisService redisService;/*** 在请求处理之前进行调用(Controller方法调用之前)*/@Overridepublic booleanpreHandle(HttpServletRequest request, HttpServletResponse response, Object object) {

    log.debug("[START] - check userId");

    String userId= super.getUserId();//从Redis中读取userId

    if(StringUtil.isNullOrEmpty(userId)) {

    log.debug("[error] - userId is empty");throw new InvalidTokenException("userId为空");

    }else{//验证userId在Redis中是否存在

    boolean check =redisService.checkUserId(userId);if(check) {//存在就重新添加覆盖掉之前的

    redisService.addUserId(userId);

    log.debug("[DEBUG] - 重新添加用户id到Redis");

    }else{//不存在就抛出异常

    String errorMsg = "用户访问超时 用户ID : ".concat(userId);

    log.debug("[error] - Landing timeout return:{}", errorMsg);throw newInvalidTokenException(errorMsg);

    }

    }

    log.debug("[END] - check userId");return true;

    }/*** 请求处理之后进行调用,但是在视图被渲染之前(Controller方法调用之后)*/@Overridepublic void postHandle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object object, ModelAndView modelAndView) throwsException {

    }/*** 在整个请求结束之后被调用,也就是在DispatcherServlet 渲染了对应的视图之后执行(主要是用于进行资源清理工作)*/@Overridepublic void afterCompletion(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object object, Exception e) throwsException {

    }

    }

    展开全文
  • 通常我们在点击某个按钮的时候,对某个对象进行操作,是需要登陆才能做的,这时候就需要一个拦截器对某个方法进行拦截,比如你在一个图书管理中心中你要借书,这时候你就会被要求出示借书证,管理员才能借书给你。...
  • SpringBoot拦截器可以做什么可以对URL路径进行拦截,可以用于权限验证、解决乱码、操作日志记录、性能监控、异常处理等。SpringBoot拦截器实现登录拦截pom.xml:xsi:schemaLocation=...
  • 本例实现登陆时的验证拦截,采用SpringMVC拦截器来实现当用户点击到网站主页时要进行拦截,用户登录了才能进入网站主页,否则进入登陆页面核心代码首先是index.jsp,显示链接String path = request.getContextPath();...
  • 博客以Demo的形式讲诉拦截器的使用项目结构如图:需要的jar:有springMVC配置需要的jar和jstl需要的jarSpringMVC包的作用说明:aopalliance.jar:这个包是AOP联盟的API包,里面包含了针对面向切面的接口。通常spring等...
  • java WEB 登陆拦截器

    千次阅读 2017-04-04 14:09:27
    package com.community.filter; import java.io.IOException; import java.io.PrintWriter; import java.util.ArrayList; import java.util.List; import javax.servlet.Filter; import javax.servlet.FilterChain
  • 1.拦截器springmvc中的拦截器实现了handlerinterceptor接口,通常使用与身份认证,授权和校验,模板视图,统一处理等;public class handerinterceptor1 implements handlerinterceptor {@overridepublic void ...
  • java spring 配置登陆拦截器

    千次阅读 2018-06-28 11:46:45
    spring配置文件中添加&lt;...-- 后端拦截器——是否登录 --&gt; &lt;mvc:interceptor&gt; &lt;mvc:mapping path="/portal/**"/&gt; &lt;bean class="...
  • 一、自定义拦截器1.架构2.拦截器创建//拦截器:第一种创建方式//拦截器生命周期:随项目的启动而创建,随项目关闭而销毁public class MyInterceptor implements Interceptor{}//创建方式2: 继承AbstractInterceptor -&...
  • 定义 拦截器顾名思义是拦截打到控制器的请求...1. 登陆拦截器: 白名单 测试环境表单模拟登陆 登陆状态拦截并302重定向login页面 2. 国际化 3. 鉴权 拦截顺序 方法执行顺序 preHandle -> Controll...
  • java 自定义拦截器

    2018-09-24 11:59:08
     以用户登陆为例子,用户在登陆后,才能访问其他页面,如果没有登陆,就跳转到登陆页面,此时我们用拦截器来实现 三、拦截器的简单示例 1.web页面 &lt;%@ page language="java" import="...
  • java开发中,拦截器使用是很普遍的,最常用的就是登陆拦截了,然后并不是所有的请求我们都需要拦截,比如index页面的请求我们是不拦截的.通常情况下我们有两种方式:先贴出来springboot使用拦截器的case:1.自定义拦截器...
  • java登录拦截器

    2019-12-10 13:35:45
    登陆拦截器大概流程:输入访问地址-->获取访问地址-->截取地址并且判断; 创建一个类(自定义登陆拦截):LoginInterceptor 类 import com.bc.mcode.base.Constants; import com.bc.mcode.model.SysUserVO;...
  • 登陆为例子...............public class LoginFilter implements Filter {@Overridepublic void destroy() {}@Overridepublic void init(FilterConfig arg0) throws ServletException {}@Overridepublic void ...
  • 一、自定义拦截器1.架构2.拦截器创建//拦截器:第一种创建方式//拦截器生命周期:随项目的启动而创建,随项目关闭而销毁public class MyInterceptor implements Interceptor{}//创建方式2: 继承AbstractInterceptor -&...
  • 过滤器,是在java web中,传入的request,response提前过滤掉一些信息,或者提前设置一些参数,然后再传入servlet或者struts2的 action进行业务逻辑,比如过滤掉非法url(不是login.do的地址请求,...拦截器,是在面向切
  • java 拦截器

    2017-08-20 11:00:00
     这是一篇关于 java 拦截器的文章,是我的写 java web 所遇见的问题。当我们写好一个网站,必须要通过登陆页面才可以进入这个系统。那么我们就得写个 java 拦截器,如果是通过登录进入系统的用户,那么这样的用户就...
  • java拦_java 拦截器

    2021-03-16 01:22:49
    一、前言这是一篇关于 java 拦截器的文章,是我的写 java web 所遇见的问题。当我们写好一个网站,必须要通过登陆页面才可以进入这个系统。那么我们就得写个 java 拦截器,如果是通过登录进入系统的用户,那么这样的...
  • 1、在SSM配置拦截器 LoginInterceptor.java public class LoginInterceptor implements HandlerInterceptor { @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response...
  • 1.过滤Servlet中的过滤Filter是实现了javax.servlet.Filter接口的服务器端程序,主要的用途是过滤字符编码、做一些业务逻辑判断等。其工作原理是,只要你在web.xml文件配置好要拦截的客户端请求,它都会帮你拦截...
  • 过滤器,是在java web中,你传入的request,response提前过滤掉一些信息,或者提前设置一些参数,然后...或者在传入servlet或者struts2的action前统一设置字符集,或者去除掉一些非法字符 拦截器,是在面向切面编程...
  • 最近在学习struts的拦截器,现在来总结一下。1、拦截器是什么?拦截器相当于过滤器:就是将不想要的去掉,想要的留下。拦截器抽象出一部分代码可以用来完善原来的action。同时可以减轻代码冗余,提高重用率。通俗地...
  • 过滤器,是在java web中,你传入的request,response提前过滤掉一些信息,或者提前设置一些参数,然后再传入servlet或者struts的 action进行业务逻辑,比如过滤掉非法url(不是...拦截器,是在面向切面编程的就是在你...
  • 登陆拦截器

    2020-06-14 15:47:59
    import java.io.IOException; import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; import javax.servlet.ServletException; import javax.servlet....
  • 用户登陆 java后台处理(拦截器处理) 上一篇用户登录java后台处理(AOP)文章,一开始的普通处理很麻烦,但是其本质也是通过请求得到的session来验证,拦截器处理也是在其本质上进行一系列的优化,也减少了不少了...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 586
精华内容 234
关键字:

java登陆拦截器

java 订阅