springmvc实现注解拦截器

这次给大家带来springmvc实现注解拦截器,springmvc实现注解拦截器的注意事项有哪些,下面就是实战案例,一起来看一下。

最近在用SpringMvc写项目的时候,遇到一个问题,就是方法的鉴权问题,这个问题弄了一天了终于解决了,下面看下解决方法

项目需求:需要鉴权的地方,我只需要打个标签即可,比如只有用户登录才可以进行的操作,一般情况下我们会在执行方法时先对用户的身份进项校验,这样无形中增加了非常大的工作量,重复造轮子,有了java注解只需要在需要鉴权的方法上面打个标签即可:

解决方案:

  1、首先创建一个注解类:

@Documented@Inherited@Target({ElementType.METHOD,ElementType.TYPE})@Retention(RetentionPolicy.RUNTIME)public @interface Auth {  boolean validate() default true;}

登录后复制

2、再创建一个拦截器:

public class AuthInterceptor extends BaseInterceptor{@Override  public Boolean preHandle(HttpServletRequest request,      HttpServletResponse response, Object handler) throws Exception {if(handler.getClass().isAssignableFrom(HandlerMethod.class)){Auth authPassport = ((HandlerMethod) handler).getMethodAnnotation(Auth.class);//没有声明需要权限,或者声明不验证权限if(authPassport==null){return true;} else{//在这里实现自己的权限验证逻辑if(true){//如果验证成功返回true(这里直接写false来模拟验证失败的处理)System.out.println("执行权限校验了");return true;} else{//如果验证失败//返回到登录界面//          System.out.println("权限校验对了");//          response.sendRedirect("account/login");return false;}}} else{return true;}}}

登录后复制

3、配置拦截器:需要在*-servlet.xml里面增加以下代码,如果您自定义了配置文件也可直接放到您定义的配置文件中


登录后复制

注意:需要将默认的改为RequestMappingHandlerMapping,增加RequestMappingHandlerAdapter的bean

重新启动tomcat即可,

温馨提示:如果对方法需要鉴权只需要在方法上面打上@Auth,如果对类的所有方法需要鉴权,只需要在类上面打上@Auth即可。

那么问题来了,方法拦截器会吧静态资源一块拦截,我们需要在tomcat中进行对静态文件进行拦截如:我的解决方法是在web.xml进行配置,大家有好的方法也可以加我扣扣752432995一块探讨

   default   *.jpg     default   *.png 

登录后复制

相信看了本文案例你已经掌握了方法,更多精彩请关注【创想鸟】其它相关文章!

推荐阅读:

JSONAPI在PHP中的使用方法

zTree的树形菜单使用步奏详解

以上就是springmvc实现注解拦截器的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2772666.html

(0)
上一篇 2025年3月8日 13:23:11
下一篇 2025年2月22日 15:27:05

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • JS如何实现Ajax的请求函数

    这次给大家带来JS如何实现Ajax的请求函数,JS实现Ajax请求函数的注意事项有哪些,下面就是实战案例,一起来看一下。 一般我们写网页的时候,如果用到 Ajax 请求服务器,都是使用 JQuery 等已经封装好的库来调用,比较简单。 但是…

    编程技术 2025年3月8日
    200
  • Angular验证功能实现步奏

    这次给大家带来Angular验证功能实现步奏,Angular验证功能实现的注意事项有哪些,下面就是实战案例,一起来看一下。 完整实例代码如下: angular验证功能 input{ display: block; } ul li{ colo…

    编程技术 2025年3月8日
    200
  • element-ui实现导入导出

    这次给大家带来element-ui实现导入导出,element-ui实现导入导出的注意事项有哪些,下面就是实战案例,一起来看一下。 前言 众所周知,ElementUI,是一个比较完善的UI库,但是使用它需要有一点vue的基础。在开始本文的正…

    编程技术 2025年3月8日
    200
  • 一个单独页面内如何实现两个zTree联动

    这次给大家带来一个单独页面内如何实现两个zTree联动,一个单独页面内实现两个zTree联动的注意事项有哪些,下面就是实战案例,一起来看一下。 简介 zTree 是利用 JQuery 的核心代码,实现一套能完成大部分常用功能的 Tree 插…

    编程技术 2025年3月8日
    200
  • easyui的下拉框动态级联加载的实现方法(附代码)

    这次给大家带来easyui的下拉框动态级联加载的实现方法(附代码),easyui下拉框动态级联加载的注意事项有哪些,下面就是实战案例,一起来看一下。 easyui的下拉框动态加载数据,高校中要根据首先查询所有学院,然后根据学院动态加载课程。…

    2025年3月8日
    200
  • 怎样实现组件相互跳转

    这次给大家带来怎样实现组件相互跳转,实现组件相互跳转的注意事项有哪些,下面就是实战案例,一起来看一下。 通过VueRouter来实现组件之间的跳转,供大家参考,具体内容如下 提供了3种方式实现跳转: ①直接修改地址栏中的路由地址 {{msg…

    编程技术 2025年3月8日
    200
  • JSONP的实现原理

    这次给大家带来JSONP的实现原理,使用JSONP的注意事项有哪些,下面就是实战案例,一起来看一下。 JSONP的实现原理 相信很多从事前后端分离的人对于JSONP也是经常接触的,不过很多新手对于JSONP,不知道怎么去实现以及它的实现原理…

    编程技术 2025年3月8日
    200
  • vue组件怎么实现猜数字功能

    这次给大家带来vue组件怎么实现猜数字功能,vue组件实现猜数字功能的注意事项有哪些,下面就是实战案例,一起来看一下。 vue组件猜数字游戏 {{msg}} /* *创建一个组件,my-game: 猜数字大小。 组件:一个input和一个p…

    编程技术 2025年3月8日
    200
  • vue路由嵌套SPA的实现方法

    这次给大家带来vue路由嵌套SPA的实现方法,vue路由嵌套SPA实现的注意事项有哪些,下面就是实战案例,一起来看一下。 本文为大家分享了路由嵌套的SPA实现的步骤: A(/a)组件需要嵌套B组件(/b)和C组件(/c) ①准备嵌套其它组价…

    编程技术 2025年3月8日
    200
  • JS实现三级级联

    这次给大家带来JS实现三级级联,JS实现三级级联的注意事项有哪些,下面就是实战案例,一起来看一下。 本文实例为大家分享了js实现三级级联特效的具体代码,供大家参考,具体内容如下     //二维数组存放市的信息 var shi =[[“丽水…

    编程技术 2025年3月8日
    200

发表回复

登录后才能评论