当前位置: 首页 > news >正文

包装公司网站模板下载一般门户网站

包装公司网站模板下载,一般门户网站,糖果果屋网站建设规划书,专门做图片剪影的网站这篇文章简单介绍如何自定义一个SpringMVC拦截器#xff0c;并通过拦截器实现具体的功能。 首先#xff0c;需要创建一个自定义的拦截器类#xff0c;该类实现HandlerInterceptor接口。 package cn.edu.sgu.www.mhxysy.interceptor;import cn.edu.sgu.www.mhxysy.feign.Fei… 这篇文章简单介绍如何自定义一个SpringMVC拦截器并通过拦截器实现具体的功能。 首先需要创建一个自定义的拦截器类该类实现HandlerInterceptor接口。 package cn.edu.sgu.www.mhxysy.interceptor;import cn.edu.sgu.www.mhxysy.feign.FeignService; import cn.edu.sgu.www.mhxysy.property.NetworkProperties; import cn.edu.sgu.www.mhxysy.restful.JsonResult; import cn.edu.sgu.www.mhxysy.restful.ResponseCode; import cn.edu.sgu.www.mhxysy.util.IpUtils; import com.alibaba.fastjson.JSON; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component; import org.springframework.web.servlet.HandlerInterceptor;import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.util.HashSet; import java.util.List; import java.util.Set;/*** 自定义拦截器* author heyunlin* version 1.0*/ Slf4j Component public class WebInterceptor implements HandlerInterceptor {Value(${spring.application.name})private final String service mhxysy;/*** 匿名接口权限*/private static SetString ANONYMITY_URLS;private final NetworkProperties networkProperties;Autowiredpublic WebInterceptor(FeignService feignService, NetworkProperties networkProperties) {this.networkProperties networkProperties;if (ANONYMITY_URLS null) {ListString permissions feignService.selectAnonymityPermissions(service);ANONYMITY_URLS new HashSet(permissions);}}Overridepublic boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws IOException {// 获取请求urlString requestURI request.getRequestURI();// 1、处理匿名访问接口直接跳过鉴权if (ANONYMITY_URLS.contains(requestURI)) {log.debug(匿名接口 requestURI 正在被访问...);return true;}// 2、内外网控制if (networkProperties.isEnableInnerIpAccess()) {// 得到客户端IPString clientIp IpUtils.getIp();if (!networkProperties.getInnerIps().contains(clientIp)) {// 构建返回对象JsonResultVoid jsonResult JsonResult.error(ResponseCode.FORBIDDEN, requestURI 只允许内网访问~);// 设置内容类型为jsonresponse.setContentType(application/json;charsetutf-8);// 设置响应状态码response.setStatus(ResponseCode.FORBIDDEN.getValue());response.getWriter().write(JSON.toJSONString(jsonResult));return false;}}return true;}/*** 获取匿名接口列表* return SetString*/public static SetString getAnonymityUrls() {return ANONYMITY_URLS;}} IpUtils.java package cn.edu.sgu.www.mhxysy.util;import javax.servlet.http.HttpServletRequest;/*** ip地址工具类* author heyunlin* version 1.0*/ public class IpUtils {/*** 获取客户端IP* return String*/public static String getIp() {HttpServletRequest request UserUtils.getRequest();String ip request.getHeader(x-forwarded-for);if (ip null || ip.length() 0 || unknown.equalsIgnoreCase(ip)) {ip request.getHeader(Proxy-Client-IP);}if (ip null || ip.length() 0 || unknown.equalsIgnoreCase(ip)) {ip request.getHeader(WL-Proxy-Client-IP);}if (ip null || ip.length() 0 || unknown.equalsIgnoreCase(ip)) {ip request.getHeader(HTTP_CLIENT_IP);}if (ip null || ip.length() 0 || unknown.equalsIgnoreCase(ip)) {ip request.getHeader(HTTP_X_FORWARDED_FOR);}if (ip null || ip.length() 0 || unknown.equalsIgnoreCase(ip)) {ip request.getHeader(X-Real-IP);}if (ip null || ip.length() 0 || unknown.equalsIgnoreCase(ip)) {ip request.getRemoteAddr();}return ip;}/*** 获取浏览器类型* return String 浏览器类型*/public static String getBrowserType() {HttpServletRequest request UserUtils.getRequest();String type 其它;String browserName request.getHeader(USER-AGENT).toLowerCase();if (browserName.indexOf(msie) 0) {type IE;} else if (browserName.indexOf(firefox) 0) {type Firefox;} else if (browserName.indexOf(chrome) 0) {type Chrome;} else if (browserName.indexOf(opera) 0) {type Opera;} else if (browserName.indexOf(gecko) 0 browserName.indexOf(rv:11) 0) {type IE11;}return type;}} 然后把拦截器注册到SpringMVC package cn.edu.sgu.www.mhxysy.config;import cn.edu.sgu.www.mhxysy.interceptor.WebInterceptor; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.web.servlet.ServletContextInitializer; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.annotation.CorsRegistry; import org.springframework.web.servlet.config.annotation.InterceptorRegistry; import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;import javax.servlet.ServletContext;/*** springmvc配置类* author heyunlin* version 1.0*/ Configuration public class SpringMvcConfig implements WebMvcConfigurer {Value(${uploads.path})private String uploadPath;private final WebInterceptor webInterceptor;Autowiredpublic SpringMvcConfig(WebInterceptor webInterceptor) {this.webInterceptor webInterceptor;}/*** 解决跨域问题*/Overridepublic void addCorsMappings(CorsRegistry registry) {registry.addMapping(/**).allowedOrigins(*).allowedMethods(*).allowedHeaders(*).allowCredentials(true).maxAge(5000);}/*** 添加静态资源路径*/Overridepublic void addResourceHandlers(ResourceHandlerRegistry registry) {// 配置静态资源路径registry.addResourceHandler(/**).addResourceLocations(classpath:static/).addResourceLocations(file: uploadPath /);// 解决knife4j访问失败问题registry.addResourceHandler(doc.html).addResourceLocations(classpath:/META-INF/resources/);registry.addResourceHandler(/webjars/**).addResourceLocations(classpath:/META-INF/resources/webjars/);}Overridepublic void addInterceptors(InterceptorRegistry registry) {registry.addInterceptor(webInterceptor).addPathPatterns(/**);}/*** 设置SESSION_ID* return ServletContextInitializer*/Beanpublic ServletContextInitializer servletContextInitializer() {return new ServletContextInitializer() {Overridepublic void onStartup(ServletContext servletContext) {servletContext.getSessionCookieConfig().setName(MHXYSY_JSESSIONID);}};}}
http://www.hkea.cn/news/14579247/

相关文章:

  • 云虚拟主机建设网站一定要域名网站弹出qq聊天窗口
  • 网站建设外包工作室wordpress新用户默认角色设置
  • 外贸网站 模板工作报告是组织进行沟通的有效渠道
  • 谷歌网站收录提交入口西安模板建站公司
  • 网站肯定被k郑州网站制作汉狮
  • 关于工装设计的网站分销商城平台
  • 数据处理网站开发北京科技公司
  • 介绍自己做的网站的论文网站 流程 工具
  • 中信建设有限责任公司网站做盗版电影网站违法吗
  • 二手房网站谁做的更好html5在线网站
  • 织梦 音乐网站视频号分销解决方案
  • 个人网站建设 实验报告泉州网站建设技术支持
  • 网站内容规范网络运营是什么专业
  • 做旅游广告在哪个网站做效果好dede网站白屏
  • 网站开发合同注意网站制作需要学什么
  • 加关键词的网站wordpress 下单
  • 免费的微网站哪个好php导航网站
  • 权威的网站建设公司app开发公司排行榜
  • 宁志网站两学一做如何识别网站建设
  • 门户网站怎么做seo基于wordpress的sns
  • 注册网站显示lp或设备超限怎么办wordpress主题制作 工具
  • 网站开发时最短的网站
  • 政务公开网站建设的亮点和建议产品全网营销推广
  • 山西手机版建站系统开发百度网站诚信认证
  • 深圳建设交易中心网站首页制作网站计划书
  • 网站开发与维护总结网页无法上传wordpress
  • 怎样在工商网站做遗失石家庄市里的网站公司
  • 企业网站建设全包.vip域名的网站排名
  • 有什么网站做投标设计绵阳建设股份有限公司
  • 学做衣服的网站有哪些战酷设计网站官网入口