欢迎来真孝善网,为您提供真孝善正能量书籍故事!

拦截器实现登录验证方法详解

时间:11-08 民间故事 提交错误

今天给各位分享拦截器实现登录验证方法详解的知识,其中也会对进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

* 自定义登录拦截器

* @作者何田田

* @版本2017/11/6。

*/

公共类LoginInterceptor 实现HandlerInterceptor {

public boolean preHandle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o) 抛出异常{

//根据用户是否有登录账号进行拦截

//如果有则跳转到需要验证的控制层,否则需要登录

对象管理员=httpServletRequest.getSession().getAttribute("loginAccount");

if (管理员==null) {

System.out.println("尚未登录,跳转至登录页面");

httpServletResponse.sendRedirect("/login.html");

返回假;

}

返回真;

}

公共无效postHandle(HttpServletRequest httpServletRequest,HttpServletResponse httpServletResponse,对象o,ModelAndView modelAndView)抛出异常{

System.out.println("postHandle");

}

公共无效afterCompletion(HttpServletRequest httpServletRequest,HttpServletResponse httpServletResponse,对象o,异常e)抛出异常{

System.out.println("afterComplete");

}

}HandlerInterceptor接口中方法详细说明

1)preHandle(HttpServletRequest请求,HttpServletResponse响应,对象句柄)方法。该方法在请求处理之前被调用。 SprigMVC 中的拦截器调用都是链式的。一个应用程序或一个请求中可以同时存在多个拦截器。每个拦截器的调用都会按照声明的顺序依次执行,拦截器会先执行。 preHandle方法,因此可以在该方法中执行一些初始化操作或预处理当前请求。您还可以在该方法中进行一些判断,以决定请求是否应该继续执行。如果该方法返回false,则表示请求结束。后续的拦截器和控制器将不会继续执行。当返回true 时,将调用下一个拦截器的preHandle() 方法。如果是最后一个拦截器,则会调用当前请求的Controller方法。

2)postHandle(HttpServletRequest请求,HttpServletResponse响应,对象句柄,ModelAndView modelAndView)方法。只有当前对应拦截器的preHandle方法的返回值为true时才会执行该方法。执行控制器方法调用后,在调度程序返回视图并渲染它之前调用它。所以你可以在这个方法中对控制器处理的modelview对象进行操作。 postHandle方法的调用方向与preHandle相反,也就是说先声明的Interceptor的postHandle方法会在后面执行。这有点类似于Struts2中Interceptor的执行过程。 Struts2中Interceptor的执行过程也是链式的,只不过在Struts2中需要手动调用ActionInitation的invoke方法来触发对下一个Interceptor或Action的调用,然后每个Interceptor中的invoke方法之前的内容按照声明是按顺序执行的,invoke方法后面的内容是相反的。

3)afterCompletion(HttpServletRequest请求,HttpServletResponse响应,对象句柄,异常ex)方法。只有当前对应拦截器的preHandle方法的返回值为true时才会执行该方法。直到整个请求完成,即DispatcherServlet渲染出相应的视图之后,才会执行该方法。该方法的主要作用是清理资源。类似于Filter中的destroy()方法

关于拦截器实现登录验证方法详解,的介绍到此结束,希望对大家有所帮助。

用户评论

陌颜幽梦

我一直在研究拦截器,这篇文章正好说到我的痛点!

    有11位网友表示赞同!

烬陌袅

登录验证这么重要,使用 Interceptor 做起来会不会更方便?

    有6位网友表示赞同!

万象皆为过客

想知道文章会讲到什么具体的验证方式?

    有11位网友表示赞同!

一笑抵千言

感觉用 Interceptor 实现登录验证,代码风格应该会更整齐。

    有10位网友表示赞同!

有恃无恐

这篇文章能帮我解决一些开发中遇到的问题吗?我很期待!

    有19位网友表示赞同!

有阳光还感觉冷

终于有人写了关于 Interceptor 登录验证的文章了,感谢分享!

    有15位网友表示赞同!

陌潇潇

以前我没用过 Interceptor,通过这篇文章我应该能有所了解了。

    有16位网友表示赞同!

红尘滚滚

想看看文章里有没有其他拦截器应用的例子。

    有11位网友表示赞同!

鹿先森,教魔方

学习一下使用 interceptor 实现登录验证的安全策略吧!

    有10位网友表示赞同!

良人凉人

看来我的项目也需要考虑使用 Interceptor 来加强安全性。

    有16位网友表示赞同!

秘密

这篇文章是不是适合各个框架都可以用?

    有16位网友表示赞同!

◆乱世梦红颜

Interceptor 对于新手来说是不是比较难理解呢?

    有9位网友表示赞同!

凝残月

文章里会不会提供一些示例代码,方便学习和参考。

    有5位网友表示赞同!

看我发功喷飞你

我更喜欢看一些实际案例的应用场景,比如具体的登录流程。

    有9位网友表示赞同!

焚心劫

如果有人已经用 Interceptor 实现过登录验证,可以分享一下经验吗?

    有11位网友表示赞同!

苏莫晨

这篇文章能帮助我提高项目的安全性吗?我很关心这个问题!

    有6位网友表示赞同!

歇火

我想知道如何调试拦截器的代码,文章里有没有讲到方法?

    有5位网友表示赞同!

微信名字

我觉得学习 Interceptor 的时候,基础的Java知识很重要吧?

    有14位网友表示赞同!

花开丶若相惜

如果用Interceptor实现登录验证,代码是不是会比较复杂呢?

    有14位网友表示赞同!

琴断朱弦

我平时开发的时候,很少用到拦截器,这篇文章能让我拓宽视野!

    有17位网友表示赞同!

【拦截器实现登录验证方法详解】相关文章:

1.蛤蟆讨媳妇【哈尼族民间故事】

2.米颠拜石

3.王羲之临池学书

4.清代敢于创新的“浓墨宰相”——刘墉

5.“巧取豪夺”的由来--米芾逸事

6.荒唐洁癖 惜砚如身(米芾逸事)

7.拜石为兄--米芾逸事

8.郑板桥轶事十则

9.王献之被公主抢亲后的悲惨人生

10.史上真实张三丰:在棺材中竟神奇复活