web项目实战1-登录校验注解

web项目实战1-登录校验注解(拦截器+注解的实例应用)

前言

在我们进行互联网项目中,经常会遇到我们这个请求必须登录后才能访问。

这是一个非常常见的问题,这个请求可能是一个页面也可能是一个Ajax,

这就需要我们对请求进行额外的处理。

要实现这种需求的方法有很多种,在这里是用拦截器+注解的方式处理,灵活性好。

思路:

1. 需要一个注解 (如:LoginAccessRequired.java)

2. 定义一个拦截器,对我们的注解进行分析

3. 在需要登录校验的时候,添加我们注解即可

实现:

1. 定义我们的注解类 : LoginAccessRequired.java

这里我们定义了一个LoginAccessRequired注解类,注解对象是方法级的,并且作用域是Runtime运行时,定义个一responseType属性,表示响应的类型(自定义的枚举类),默认是JSON-即请求为Ajax,返回类型是json结构。好了,自定义注解完成

2. 定义一个拦截器,对我们的注解进行分析 :
LoginAccessRequiredInteceptor.java

我们知道注解是一种"被动"信息, 需要”主动“去解析它才有意思。所以我们的注解解析工具使用HandlerInterceptorAdapter的子类,拦截方法处理请求。


org.springframework.web.servlet.handler.HandlerInterceptorAdapter是spring的一个类,我们重写的preHandle()即可。

LoginAccessRequiredInteceptor.java

preHandle()方法:

以来的一些小方法:

解析注解,获取响应类型:

获取前登录用户ID

对应请求的两种响应:

至此,我们的注解与注解的解析工具已经完成,还可以吧,是不是感觉注解也没什么...

3.吼吼,关键的一步来喽,我们的注解要怎么用呢,看图:

这是PersonalController.java个人设置下的一个方法

最后,在springmvc-servlet.xml文件中加入我们的拦截器即可

到此我们的所有 代码已经完成了。我们只是负责抛“砖”的,具体能引出什么样的“玉”,需要开动自己的大脑大胆的去尝试,只有自己学到了,才是自己的。

重要的事情说三遍:多写,多写,多写,我相信代码是写出来的。

让我们在编程之路上一起加油吧~~~

相关文章

一次Redis服务故障引起的登录故障

最近学校开发人员空然反应所换负责的企业模块无法打开,后台所报错误为:严重 [catalina-exec-1391] org.apache.catalina.core.StandardWrapperVa...

SpringBoot 优雅整合Swagger Api 自动生成文档

一个好的可持续交付的项目,项目说明,和接口文档是必不可少的,swagger api 就可以帮我们很容易自动生成api 文档,不需要单独额外的去写,无侵入式,方便快捷大大减少前后端的沟通方便查找和测试接...

JWT在Java项目中的身份验证:解锁安全之门

JWT在Java项目中的身份验证:解锁安全之门在当今数字化浪潮中,互联网应用的规模日益扩大,安全性成为了软件开发的核心关注点之一。特别是在用户身份验证这一环节,传统的Session机制已经逐渐被一种更...

登录人人都是产品经理即可获得以下权益

在 2025 年,AI 爬虫领域迎来了全新变革。本文聚焦于 2025AI 爬虫最佳实践,深入实战演示如何运用 Deepseek、Crawl4ai 以及 Playwright MCP 这三大工具组合,实...

JWT在Java Web中的应用:一次轻量级认证与授权的探索

JWT在Java Web中的应用:一次轻量级认证与授权的探索在现代Web开发中,安全认证和授权是一个绕不开的重要话题。传统的Session机制虽然功能强大,但在微服务架构日益流行的今天,却显得有些笨重...