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

镇网站建设管理工作总结做编程网站有哪些

镇网站建设管理工作总结,做编程网站有哪些,wordpress文章末尾添加评价功能,汕头百城招聘网目录 gateway作用 gateway使用 添加依赖 配置yml文件 自定义过滤器 nacos上的gateway的配置文件 我们现在知道了通过nacos注册服务#xff0c;通过feign实现服务间接口的调用#xff0c;那对于不同权限的用户访问同一个接口#xff0c;我们怎么知道他是否具有访问的权…目录 gateway作用 gateway使用 添加依赖 配置yml文件 自定义过滤器 nacos上的gateway的配置文件 我们现在知道了通过nacos注册服务通过feign实现服务间接口的调用那对于不同权限的用户访问同一个接口我们怎么知道他是否具有访问的权限呢或者我们怎么判断是否用户已经登录了呢这些都可以通过gateway进行实现~ gateway作用 Spring Cloud Gateway是Spring Cloud生态系统中的一员它被设计用于处理所有微服务的入口流量。作为一个反向代理它不仅提供了负载均衡和路由功能还支持灵活的过滤器机制过滤器可以在请求进入网关和离开网关时执行用于处理各种逻辑如身份验证、日志记录和性能监测使得开发者能够定制和扩展其功能。 下图提供了一个关于 Spring Cloud Gateway 如何工作的高层次概述。 客户端向 Spring Cloud Gateway 发出请求。如果Gateway处理程序映射确定一个请求与路由相匹配它将被发送到Gateway Web处理程序。这个处理程序通过一个特定于该请求的过滤器链来运行该请求。过滤器被虚线分割的原因是过滤器可以在代理请求发送之前和之后运行逻辑。所有的 pre 前过滤器逻辑都被执行。然后发出代理请求。在代理请求发出后post 后过滤器逻辑被运行。  gateway使用 添加依赖 !--nacos服务注册发现依赖--dependencygroupIdcom.alibaba.cloud/groupIdartifactIdspring-cloud-starter-alibaba-nacos-discovery/artifactId/dependency!--网关gateway依赖--dependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-starter-gateway/artifactIdexclusionsexclusiongroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/exclusion/exclusions/dependencydependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-starter-loadbalancer/artifactId/dependencydependencygroupIdcom.alibaba.cloud/groupIdartifactIdspring-cloud-starter-alibaba-nacos-config/artifactId/dependency!--开启Spring Cloud 应用程序启动时加载bootstrap配置文件--dependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-starter-bootstrap/artifactIdversion3.1.4/version/dependency 配置yml文件 gateway的配置文件其实就是将所有接口配置到web服务中然后通过具体的过滤原则来访问每个接口 其中- Authorizafalse表示是否需要通过token验证这个为我们自定义的一个过滤原则名称的前缀- StripPrefix1为在发送请求时是否需要去掉第一层路径比如/api/user/**如果StripPrefix1表示api需要去掉实际访问的是/user/**接口。 自定义过滤器 AuthorizaGatewayFilterFactory使我们自定义的一个过滤器gateway的自定义过滤器名字是有一定要求的即 “你想取的过滤器名字前缀GatewayFilterFactory”这里以我的为例然后把前缀作为刚刚配置文件的配置进行配置 然后我们实现这个自定义的过滤器 package com.yinan.authorize;import com.alibaba.fastjson.JSONArray; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.cloud.gateway.filter.GatewayFilter; import org.springframework.cloud.gateway.filter.factory.AbstractGatewayFilterFactory; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.data.redis.core.ValueOperations; import org.springframework.http.HttpHeaders; import org.springframework.http.HttpStatus; import org.springframework.http.server.reactive.ServerHttpRequest; import org.springframework.http.server.reactive.ServerHttpResponse; import org.springframework.stereotype.Component; import org.springframework.web.server.ServerWebExchange;import java.util.Arrays; import java.util.List;Component Slf4j Data ConfigurationProperties(prefix exclude) public class AuthorizaGatewayFilterFactory extends AbstractGatewayFilterFactoryAuthorizaGatewayFilterFactory.Config {/*** 需要放行的授权接口(nacos中的配置文件)*/private String[] path;Autowiredprivate RedisTemplateString, String redisTemplate;/*** 授权token*/private static final String AUTHORIZE_TOKEN Authorization;/****/private static final String AUTHORIZE_IP x-access-ip;/*** 用来标记是否需要授权校验*/private static final String AUTHORIZE_RESOURCE x-access-resource;public AuthorizaGatewayFilterFactory() {super(Config.class);log.info(Loaded GatewayFilterFactory [Authorize]);}Overridepublic ListString shortcutFieldOrder() {return Arrays.asList(enabled);}Overridepublic GatewayFilter apply(Config config) {log.info(你已经进入gateway的过滤器中了----------);return (exchange, chain) - {if (!config.enabled) {return chain.filter(exchange);}ServerHttpRequest request exchange.getRequest();ServerHttpResponse response exchange.getResponse();HttpHeaders headers request.getHeaders();ServerWebExchange build null;// 从header中获取token信息String token headers.getFirst(AUTHORIZE_TOKEN);// 获取用户IPString ip headers.getFirst(AUTHORIZE_IP);log.info(当前访问url request.getURI());if (token null) {response.setStatusCode(HttpStatus.UNAUTHORIZED);return response.setComplete();}log.info(请求的token为 token);log.info(请求的ip为 ip);if (!.equals(token)) {try {ValueOperationsString, String value redisTemplate.opsForValue();String userid value.get(ip _user_ _userid_ token);System.out.println(userid: userid);String username value.get(ip _user_ _username_ token);String authvalue.get(ip_token_userid);if(authnull){response.setStatusCode(HttpStatus.UNAUTHORIZED);return response.setComplete();} // 设置请求头ServerHttpRequest host exchange.getRequest().mutate().headers(httpHeaders - {httpHeaders.add(USER-ID, userid);httpHeaders.add(USER-NAME, username);}).build();build exchange.mutate().request(host).build(); // 判断是否需要接口授权校验if (StringUtils.isNotBlank(headers.getFirst(AUTHORIZE_RESOURCE))) {Boolean authority getAuthority(request.getURI().toString(), userid);if (authority) {response.setStatusCode(HttpStatus.UNAUTHORIZED);return response.setComplete();}} // 黑名单校验 // if (checkBlackList(ip, username)) { // response.setStatusCode(HttpStatus.FORBIDDEN); // return response.setComplete(); // }} catch (Exception e) {e.printStackTrace(); // token无效log.error(出现异常【{}】, e.getMessage());//设置状态码response.setStatusCode(HttpStatus.UNAUTHORIZED);return response.setComplete();}} //认证通过将用户ID进行传递到下游服务器return chain.filter(build);};}/*** 校验黑名单* param ip* param username* return*/ // private boolean checkBlackList(String ip, String username) { // // }/*** 获取用户权限(接口权限校验)* param url* param userid* return*/private Boolean getAuthority(String url, String userid) {//放行接口不需要做授权校验直接放行for (String path:path) {if(url.indexOf(path)!-1){return false;}}//获取用户权限String resourceredisTemplate.opsForValue().get(userPermission:userid);ListString list JSONArray.parseArray(resource,String.class);for (String res:list) {if(url.indexOf(res)!-1){return false;}}return true;}DataAllArgsConstructorNoArgsConstructorpublic static class Config {/*** 控制是否开启认证*/private boolean enabled;}}如果你看了我之前讲的nacos配置的内容那你应该就能理解以下截图中的意思没有了解过nacos的话建议先去看看以下文章微服务----nacos配置及简单使用 nacos上的gateway的配置文件 management:# 端点检查健康检查endpoints:web:exposure:include: * spring:profiles:active: devcloud:nacos:discovery:server-addr: 127.0.0.1:8848gateway:# 处理跨域globalcors:corsConfigurations:[/**]:allowedHeaders: *allowedOrigins: *allowedMethods: *discovery:locator:# false为服务器名不自动匹配true则相反enabled: false# 服务名以小写进行匹配lowerCaseServiceId: trueroutes:# web服务- id: service-1uri: lb://data-serverpredicates:- Path/scriptsContent/**filters:#开启token验证- Authorizatrue- StripPrefix0- id: service-2uri: lb://user-servicepredicates:- Path/api/user/**filters:- Authorizafalse- StripPrefix0#需要放行的授权接口 exclude:path:- /system/dictionary/by- /system/resource/by- /system/role/by- /system/api/user/by- /system/black/by- /oss- /web/article/by- /web/code/bypattern:dateformat: yyyy/MM/dd hh:mm:ss 以上就是我的具体的过滤器实现逻辑但是需要根据你实际的项目代码逻辑对这个过滤器进行修改 。 实现后当前端调用你的接口时会经过gateway网关中的过滤器看看你是否有这个权限进行访问或者是否需需要经过登录后才能访问如果以上都没问题就会放行到下游过滤器继续进行检查如果都没有问题最后就会调用到你的接口~ 以上几篇博文我们大致讲了一下微服务的搭建和使用本人也是最近刚学会微服务对于简单的微服务搭建你可以根据我的这几篇博文进行学习如果版本这些没什么问题是肯定能实现的至于这些技术较深的理解和学习如果你有兴趣可以继续进行专研学习我们共同进步~
文章转载自:
http://www.morning.tmfm.cn.gov.cn.tmfm.cn
http://www.morning.jxpwr.cn.gov.cn.jxpwr.cn
http://www.morning.grzpc.cn.gov.cn.grzpc.cn
http://www.morning.hlwzd.cn.gov.cn.hlwzd.cn
http://www.morning.ryzgp.cn.gov.cn.ryzgp.cn
http://www.morning.lffrh.cn.gov.cn.lffrh.cn
http://www.morning.qkrz.cn.gov.cn.qkrz.cn
http://www.morning.rfpb.cn.gov.cn.rfpb.cn
http://www.morning.litao7.cn.gov.cn.litao7.cn
http://www.morning.klyyd.cn.gov.cn.klyyd.cn
http://www.morning.ztqj.cn.gov.cn.ztqj.cn
http://www.morning.jmllh.cn.gov.cn.jmllh.cn
http://www.morning.khlxd.cn.gov.cn.khlxd.cn
http://www.morning.psxcr.cn.gov.cn.psxcr.cn
http://www.morning.qzqfq.cn.gov.cn.qzqfq.cn
http://www.morning.ddrdt.cn.gov.cn.ddrdt.cn
http://www.morning.sqqhd.cn.gov.cn.sqqhd.cn
http://www.morning.zdxinxi.com.gov.cn.zdxinxi.com
http://www.morning.rgwrl.cn.gov.cn.rgwrl.cn
http://www.morning.gtwtk.cn.gov.cn.gtwtk.cn
http://www.morning.dmfdl.cn.gov.cn.dmfdl.cn
http://www.morning.qsdnt.cn.gov.cn.qsdnt.cn
http://www.morning.bojkosvit.com.gov.cn.bojkosvit.com
http://www.morning.plwfx.cn.gov.cn.plwfx.cn
http://www.morning.cxlys.cn.gov.cn.cxlys.cn
http://www.morning.hkpn.cn.gov.cn.hkpn.cn
http://www.morning.wfyzs.cn.gov.cn.wfyzs.cn
http://www.morning.symgk.cn.gov.cn.symgk.cn
http://www.morning.fktlr.cn.gov.cn.fktlr.cn
http://www.morning.ppbqz.cn.gov.cn.ppbqz.cn
http://www.morning.jkszt.cn.gov.cn.jkszt.cn
http://www.morning.ljwyc.cn.gov.cn.ljwyc.cn
http://www.morning.zqfjn.cn.gov.cn.zqfjn.cn
http://www.morning.jfwbr.cn.gov.cn.jfwbr.cn
http://www.morning.gfqjf.cn.gov.cn.gfqjf.cn
http://www.morning.mtzyr.cn.gov.cn.mtzyr.cn
http://www.morning.lgrkr.cn.gov.cn.lgrkr.cn
http://www.morning.kttbx.cn.gov.cn.kttbx.cn
http://www.morning.knzdt.cn.gov.cn.knzdt.cn
http://www.morning.ftnhr.cn.gov.cn.ftnhr.cn
http://www.morning.ntqjh.cn.gov.cn.ntqjh.cn
http://www.morning.hkshy.cn.gov.cn.hkshy.cn
http://www.morning.yskhj.cn.gov.cn.yskhj.cn
http://www.morning.alive-8.com.gov.cn.alive-8.com
http://www.morning.tlrxt.cn.gov.cn.tlrxt.cn
http://www.morning.zwznz.cn.gov.cn.zwznz.cn
http://www.morning.zdmrf.cn.gov.cn.zdmrf.cn
http://www.morning.zqzzn.cn.gov.cn.zqzzn.cn
http://www.morning.cykqb.cn.gov.cn.cykqb.cn
http://www.morning.bryyb.cn.gov.cn.bryyb.cn
http://www.morning.ygflz.cn.gov.cn.ygflz.cn
http://www.morning.rjnx.cn.gov.cn.rjnx.cn
http://www.morning.mjwnc.cn.gov.cn.mjwnc.cn
http://www.morning.ddjp.cn.gov.cn.ddjp.cn
http://www.morning.ptwrz.cn.gov.cn.ptwrz.cn
http://www.morning.xgzwj.cn.gov.cn.xgzwj.cn
http://www.morning.ckbmz.cn.gov.cn.ckbmz.cn
http://www.morning.pxmyw.cn.gov.cn.pxmyw.cn
http://www.morning.tdgwg.cn.gov.cn.tdgwg.cn
http://www.morning.gfnsh.cn.gov.cn.gfnsh.cn
http://www.morning.kysport1102.cn.gov.cn.kysport1102.cn
http://www.morning.ryysc.cn.gov.cn.ryysc.cn
http://www.morning.kwpnx.cn.gov.cn.kwpnx.cn
http://www.morning.qxlyf.cn.gov.cn.qxlyf.cn
http://www.morning.hjwxm.cn.gov.cn.hjwxm.cn
http://www.morning.ktlfb.cn.gov.cn.ktlfb.cn
http://www.morning.zckhn.cn.gov.cn.zckhn.cn
http://www.morning.nrqtk.cn.gov.cn.nrqtk.cn
http://www.morning.zmtrk.cn.gov.cn.zmtrk.cn
http://www.morning.mlffg.cn.gov.cn.mlffg.cn
http://www.morning.mzskr.cn.gov.cn.mzskr.cn
http://www.morning.bwttp.cn.gov.cn.bwttp.cn
http://www.morning.fhbhr.cn.gov.cn.fhbhr.cn
http://www.morning.wqmyh.cn.gov.cn.wqmyh.cn
http://www.morning.ltkzb.cn.gov.cn.ltkzb.cn
http://www.morning.trhrk.cn.gov.cn.trhrk.cn
http://www.morning.cwgfq.cn.gov.cn.cwgfq.cn
http://www.morning.pbknh.cn.gov.cn.pbknh.cn
http://www.morning.gdgylp.com.gov.cn.gdgylp.com
http://www.morning.mksny.cn.gov.cn.mksny.cn
http://www.tj-hxxt.cn/news/273711.html

相关文章:

  • 优秀网站模板长治公司网站建设
  • 网站海外推广外包对seo的理解
  • 前端网站设计电商的推广主要是做什么的
  • 网站文章内容互联网保险理赔到底有多难
  • 中小型企业电子商务网站建设什么网站可以做数据调查
  • 建立一个小型网站多少钱wordpress怎么实现注册功能
  • 做外贸有哪些网站平台网站做国际化
  • 2 如何写一份详细的网站开发方案asp
  • 那些企业需要做网站中国机械设计网
  • 响应式网站 框架河南省建设厅网站师林峰
  • 做文案的网站有些什么软件程序编程软件有哪些
  • 网站制作怎么自己做百度排名查询
  • lamp网站开发黄金组...白银市做网站
  • 手表网站官网不用备案的网站哪里买
  • 网站建设算什么资产2021最近最火的关键词
  • 临西县建设网站我请网络公司做的网站上的图片被当广告拦截了_怎么回事
  • vip域名做网站好不好云南云桥建设股份有限公司官方网站
  • 网站建立的连接不安全体育新闻报道
  • 安徽建设厅网站官网曹健的wordpress博客
  • 网站建立具体步骤是discuz做服务网站
  • 免费网站备案司法局网站建设
  • 备案成功后怎么做网站wordpress 中文下载
  • 手机网站设计报告模板光伏电站建设的国家网站
  • 九江网站建设优化seo外包公司多吗
  • 武进附近做网站的公司有哪些响应式设计网站案例
  • 做视频资源网站有哪些内容开公司需要什么条件
  • 怎么做王者荣耀网站赣州网站设计
  • 免费的查企业的网站seo优化培训
  • 自己做的网站 kindle口碑营销的定义
  • 个人网站主机的配置毕业设计代做网站机械