文档章节

拦截器工作笔记

琴兽
 琴兽
发布于 05/12 10:05
字数 361
阅读 4
收藏 0

网上关于拦截器的描述和使用已经很详细了,我就不再赘述了

场景描述:后台的对外开放的接口需要进行校验是否登录,如果未登录则要进行拦截,我想做的是直接返回http请求,但拦截器的返回值是boolean型的,网上的描述都是要指定跳转界面的,但这不是我想要的,以下是我的代码模块

if (handler instanceof HandlerMethod) {
    // 我自己写了自定义注解
    NeedLogin login = ((HandlerMethod) handler).getMethodAnnotation(NeedLogin.class);

    if (login != null) {
        String accessToken = request.getHeader(ProductConstants.HttpHeader.ACCESS_TOKEN);
        // token值不存在,则需要进行登录
        if (accessToken == null) {
            // 设置状态码,并发送错误信息,下同
            response.sendError(HttpStatus.UNAUTHORIZED.value(), "No authority. login first,please!");
            return false;
        } else {
            // 判断是否需要登录
            boolean needLogin = this.needLogin(accessToken);
            if (needLogin) {
                response.sendError(HttpStatus.UNAUTHORIZED.value(), "No authority. login first,please!");
                return false;
            }
        }
    }
}

 

这样做的话就可以不用做指定界面跳转了,而是通过sendError的方式,返回json信息给前端。因为对于前后端分离的系统,是不能在后台指定跳转界面的。

© 著作权归作者所有

琴兽
粉丝 1
博文 13
码字总数 10032
作品 0
杭州
私信 提问
Struts2的学习笔记(3)

很久没发表了,不代表我没在学习struts2啊,对吧?好,下面还是把我的一些笔记供出来给大家参考指正吧? 1、Struts2应用的分层体系架构: 2、Struts2的模型驱动(Model Driven),之前所学的...

larch
2012/04/13
0
0
spring 转发forward和重定向redirect

forward 转发,如return "forward:/hello"; 浏览器的地址栏不会变,但是有视图返回来 redirect 重定向,如return "redirect:/hello"; 浏览器的地址栏会变。 网络解释: spring控制器最后返回...

梦媳妇
2017/07/20
0
0
struts2学习笔记之拦截器(Interceptor)

一、拦截器介绍 拦截器即interceptor 其实现类似于Servlet技术中的Filter,与AOP概念是相关的。 关于AOP可以参考: http://www.cnblogs.com/wayfarer/articles/241024.html http://baike.ba...

美码师
2011/10/10
0
0
青橘子的服务端 - 拦截器+注解实现登陆验证

思路 拦截器拦截所有配置好的路径,取出注解对象判断是否需要进行登陆判断。 其实也可以用AOP来实现。 代码 测试Controller 注解类 配置类 拦截器 参考资料 SpringBoot使用自定义注解实现权限...

花有信
2017/11/27
0
0
Angular6笔记之封装http

最近抽空学习了一下Angular6,之前主要使用的是vue,所以免不了的也想对Angular6提供的工具进行一些封装,今天主要就跟大家讲一下这个http模块。 之前使用的ajax库是axios,可以设置baseurl...

ma125120
2018/07/27
0
0

没有更多内容

加载失败,请刷新页面

加载更多

idea下springboot 项目在static目录下添加文件不生效

idea下springboot 项目在static目录下添加文件不生效 问题描述 是这样子的,我的项目目录结构如下: 我在static目录下,创建了index.html和aaaa.jpg这两个文件。然后,启动服务访问 http://l...

wotrd
昨天
5
0
k8s1.14 一、环境

1. 4台虚拟机 (CentOS Linux release 7.2.1511 (Core) ) 192.168.130.211 master 192.168.130.212 node1 192.168.130.213 node2 192.168.130.214 node3 2. 设置服务器hostname 2.1 设置本机......

ThomasCheng
昨天
3
0
盖茨:如果我现在开创一家公司 将会专注于AI

新浪科技讯,北京时间 6 月 26 日凌晨消息,微软联合创始人比尔·盖茨(Bill Gates)在周一接受采访时表示,如果他今天从哈佛大学辍学并开创一家新公司,那么这家公司将会专注于人工智能(A...

linuxCool
昨天
1
0
聊聊feign的Retryer

序 本文主要研究一下feign的Retryer Retryer feign-core-10.2.3-sources.jar!/feign/Retryer.java public interface Retryer extends Cloneable { /** * if retry is permitted, retur......

go4it
昨天
12
0
HyperLogLog简介

  (1)HyperLogLog简介      在Redis 在 2.8.9 版本才添加了 HyperLogLog,HyperLogLog算法是用于基数统计的算法,每个 HyperLogLog 键只需要花费 12 KB 内存,就可以计算接近 2^64 个...

SEOwhywhy
昨天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部