java拦截器_Java拦截器实现「建议收藏」

java拦截器_Java拦截器实现「建议收藏」java拦截器实现功能类似于aop功能的实现,实现拦截部分方法,一般用于类似登录进入A页面,未登录进入B页面实现方法有两种实现Interceptor接口或者继承HandlerInterceptorAdapter类,实现接口需要实现其中所有方法,继承抽象类则一般实现preHandle方法即可。首先配置拦截类packagenet.parim.spark.portal.adapter;im…

大家好,又见面了,我是你们的朋友全栈君。

java拦截器实现功能类似于aop功能的实现,实现拦截部分方法,一般用于类似 登录进入A页面,未登录进入B页面

实现方法有两种 实现Interceptor 接口 或者 继承HandlerInterceptorAdapter类,实现接口需要实现其中所有方法,继承抽象类则一般实现preHandle方法即可。

首先配置拦截类

package net.parim.spark.portal.adapter;

import org.springframework.context.annotation.Bean;

import org.springframework.context.annotation.Configuration;

import org.springframework.web.servlet.config.annotation.InterceptorRegistry;

import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;

@Configuration

public class HomeOpenHandlerConfigration extends WebMvcConfigurerAdapter {

//关键,将拦截器作为bean写入配置中

@Bean

public HomeOpenInterceptor myInterceptor(){

return new HomeOpenInterceptor();

}

@Override

public void addInterceptors(InterceptorRegistry registry) {

registry.addInterceptor(myInterceptor()).addPathPatterns(“/api/open/portal/**”)

.excludePathPatterns(“/api/open/footerInfo”).excludePathPatterns(“/api/open/portal/template/default”);

super.addInterceptors(registry);

}

}

addPathPatterns()方法为需要拦截的api,excludePathPatterns()方法为不需要拦截的接口api

配置拦截逻辑

package net.parim.spark.portal.adapter;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import org.apache.shiro.SecurityUtils;

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.stereotype.Component;

import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;

import net.parim.spark.common.config.ApplicationProperties;

import net.parim.spark.common.exceptions.BusinessException;

import net.parim.spark.core.system.constant.Constants;

import net.parim.spark.core.system.entity.Site;

import net.parim.spark.core.system.security.UserToken;

import net.parim.spark.core.system.security.exceptions.UnauthenticatedException;

import net.parim.spark.portal.service.PortalCommonService;

/**

* 首页外放拦截器

* @author liweiqiang

*

*/

@Component

public class HomeOpenInterceptor extends HandlerInterceptorAdapter {

@Autowired

private PortalCommonService portalCommonService;

@Autowired

private ApplicationProperties applicationProperties;

@Override

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

throws Exception {

//判断是否需要拦截

Boolean flag = false;

if(flag){

//判断是否允许不登录的情况下 访问主页

//如果不允许匿名访问返回401

throw new UnauthenticatedException();

}

//否则允许直接放过,不进行任何拦截

return true;

}

}

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

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/132400.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Pycharm配置——解释器(interpreter)「建议收藏」

    Pycharm配置——解释器(interpreter)「建议收藏」今天打开pycharm运行一段代码,结果遇到了这个问题:以上应该是没有配置解释器的问题,那我是怎么解决这个问题的呢。1、打开文件(File)2、打开设置(Setting)3、打开新project的默认设置4点击projectInterpreter选项5、点击如下图的右上角按钮6、找到showall(在projectInterpreter里面),点击;7、点开以后得到如下界面,然后点击右上角的+号:8、箭头所指那里会自动配置编译器,(前提是你在安装pycharm之前安装了像pyt

    2022年8月25日
    13
  • 使用WinSCP连接虚拟机主机,提示“网络错误拒绝连接”

    使用WinSCP连接虚拟机主机,提示“网络错误拒绝连接”工作遇到的

    2022年9月16日
    2
  • 如何使 WebAPI 自动生成漂亮又实用在线API文档「建议收藏」

    如何使 WebAPI 自动生成漂亮又实用在线API文档

    2022年2月23日
    48
  • 谈谈CListCtrl 扩展风格设置方法-SetExtendedStyle和ModifyStyleEx 比較

    谈谈CListCtrl 扩展风格设置方法-SetExtendedStyle和ModifyStyleEx 比較谈谈CListCtrl扩展风格设置方法————————————–SetExtendedStyle和ModifyStyleEx比較对于刚開始学习的人来说,当他须要设定listctrl的扩展风格时,经常想到用ModifyStyleEx来设定,代码例如以下:ModifyStyleEx(0,LVS_EX_GRIDLINES)…

    2022年7月19日
    16
  • 巴伦电路基础_巴伦变压器

    巴伦电路基础_巴伦变压器本文转自博文:http://whoshallwe.blog.163.com/blog/static/5074415520127723238151/需要巴伦的原因?   差分电路具有高增益、抗电磁干扰、抗电源噪声、抗地噪声能力很高、抑制偶次谐波等优点。如今,在RF电路和低频电路中,差分电路的使用越来越广泛。所以,巴伦的重要性也与日俱增。balun短语分析balun是由“balanc

    2025年6月10日
    2
  • python爬取对方qq好友_小白工作室QQ

    python爬取对方qq好友_小白工作室QQ当python小白遇到QQ钓鱼网站今天又是和平(无聊)的一天,突然我的qq邮箱接受到一个信息,我向往常一样想着—-这又是一个垃圾信息。但当我打开看到内容时,嗯0.o~~。没错,它吸引了我。嗯??嘿嘿,我满怀期待的点了进去。出现了一个网址,我继续点了进去。我渐渐猜到了答案。哈哈,果然是钓鱼网站,淦!我到底在期待什么。我开始生气了。我f12开始查看源码。花了一点时间终于被我找到了关键的地方。嘿嘿,既然你这么想盗qq号,一个“邪恶”的想法在我心中发芽。这个是点击登录的js代码。又花了一点时间

    2022年8月24日
    8

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号