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

评价一个网站设计的好坏如何建设企业微网站

评价一个网站设计的好坏,如何建设企业微网站,微网站平台建设方案,网站怎么做百度的关键字目录 1 问题2 实现 1 问题 一个springboot 项目,需要token 验证,前端传过来token ,我们一般在项目全局写一个过滤器,去验证前端传过来的token ,如果有哪些接口不需要token验证,那么就排除这些接口,这个也需要配置。 …

目录

  • 1 问题
  • 2 实现

1 问题

一个springboot 项目,需要token 验证,前端传过来token ,我们一般在项目全局写一个过滤器,去验证前端传过来的token ,如果有哪些接口不需要token验证,那么就排除这些接口,这个也需要配置。

但是这样就有一个问题,那就是不能一直配置不需要token验证的接口

所以现在我们就需要自定义一个注解,如果你认为哪个接口不需要token 验证就可以访问,那么就在这个接口上面写这个自定义的注解就可以了

2 实现

第一步,自定义一个注解

/*** 排除token 注解* */
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface ExcludeTokenValidation {
}

第二步,写一个过滤器


@Slf4j
@Component
public class AuthInterceptor implements HandlerInterceptor {private static final String TOKEN = "token";@Autowiredprivate RedisUtil redisUtil;@Overridepublic boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws IOException {if (handler instanceof HandlerMethod) {HandlerMethod handlerMethod = (HandlerMethod) handler;// 检查方法上是否有 @ExcludeTokenValidation 注解if (handlerMethod.hasMethodAnnotation(ExcludeTokenValidation.class)) {return true; // 如果有该注解,直接通过,不进行 token 验证}}String token = request.getHeader(TOKEN);// 从参数中获取tokenif (ObjectUtils.isEmpty(token)) {token = request.getParameter(TOKEN);}if (!ObjectUtils.isEmpty(token)){SysUser loginUser = getUser(token);UserContext.setUser(loginUser);} else{response.setStatus(HttpServletResponse.SC_FORBIDDEN);output(response, noPermissionMsg("没有对应权限,联系管理员"));return false;}return true;}@Overridepublic void postHandle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, ModelAndView modelAndView) throws Exception {//手动清除当前用户上下文的用户对象UserContext.remove();}@Overridepublic void afterCompletion(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, Exception e) throws Exception {}/*** 获取用户信息* @param token* @return*/private SysUser getUser(String token) {Object o = redisUtil.get(token);JSONObject userJson = JSONObject.parseObject(o.toString());SysUser sysUser = JSON.toJavaObject(userJson, SysUser.class);return sysUser;}/*** 响应体返回** @param response* @param result* @throws IOException*/private void output(HttpServletResponse response, Result<String> result) throws IOException {response.setContentType("application/json;charset=UTF-8");ServletOutputStream outputStream = null;try {outputStream = response.getOutputStream();outputStream.write(JSON.toJSONString(result).getBytes(StandardCharsets.UTF_8));} catch (IOException e) {e.printStackTrace();} finally {outputStream.flush();outputStream.close();}}/*** @param msg 消息信息* @return Result<T> 统一返回*/private Result<String> noPermissionMsg(String msg) {String code = String.valueOf(HttpServletResponse.SC_FORBIDDEN);Result<String> stringResult = ResultUtil.build(code, msg, null);return stringResult;}}

第三步,全剧配置 这个 过滤器

@Configuration
public class WebConfig implements WebMvcConfigurer {@BeanAuthInterceptor authlInterceptor() {return new AuthInterceptor();}@Overridepublic void addInterceptors(InterceptorRegistry registry) {List<String> urls = new ArrayList<>();urls.add("/favicon.ico");urls.add("**/swagger-ui.html");urls.add("/swagger-ui.html/**");registry.addInterceptor(authlInterceptor()).addPathPatterns("/**").excludePathPatterns(urls);}
}

第四部,在不想要token 验证的接口上面添加这个自定义注解
在这里插入图片描述
第五步,启动项目之后,访问这个接口就可以了

http://www.yayakq.cn/news/174676/

相关文章:

  • 宁波网站推广怎样做o2o系统网站建设
  • 培训类网站建设哪家公司产品设计的好
  • 关于校园网站升级建设的报告vultr怎么做网站
  • 查询网站死链接动漫设计就业前景
  • 做算命类网站违法吗湘潭商城网站建设定制
  • 海口装饰设计网站建设一个免费的网站
  • 怎么做免费的网站空间连云港市网站优化
  • 做搜狗手机网站优化首长春财经学院教务系统
  • 昆明网站设计都需要设计什么单页网站制作
  • 手表电商网站沛县做网站xlec
  • 有哪些做包装盒的网站北京网站制作公司兴田德润可信赖
  • 网站 图文混编网站icp是什么意思
  • 拖拽做网站深圳建设招标网站首页
  • 天津智能网站建设哪家好网站备案增加域名
  • 衣服图案设计网站品牌管理
  • 网站的基本组成部分有哪些wordpress 企业主题餐饮
  • 林州网站建设哪家专业wordpress页面链接404
  • 苏州网站设计kgwl珠海做网站的公司有哪些
  • 德州建设局网站免费crm
  • 网站运营写营销页面设计计划
  • 织梦网站后台使用说明书wordpress 主题分享
  • wp建站模板世界杯直播 现场免费直播
  • 凡科手机建站教程wordpress安装php5.4
  • 北安网站建设宜飞思工业设计网站
  • 施工合同在哪个建设网站下载网页设计与制作教程教科书
  • 中国城乡和住房建设部网站首页wordpress站点备份
  • 李氏牛仔网站建设风格建设银行衡阳市分行网站
  • 浙江网站建设的释义抚州做网站价格多少
  • 茂名小学网站建设搜索seo神器
  • 网站域名com和cn的差别在哪里网络热词排行榜