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

河南郑州网站推广优化个人简历html代码

河南郑州网站推广优化,个人简历html代码,百度最新版本2022,河南濮阳最新消息今天介绍 作为 API 网关#xff0c;通常负责路由、负载均衡、安全控制等功能。进行 统一鉴权 的做法意味着将所有微服务的认证和授权逻辑集中到网关层#xff0c;而不是每个微服务单独实现。这样做有许多好处#xff0c;微服务只关心核心业务逻辑#xff0c;不需要处理身份验证…介绍 作为 API 网关通常负责路由、负载均衡、安全控制等功能。进行 统一鉴权 的做法意味着将所有微服务的认证和授权逻辑集中到网关层而不是每个微服务单独实现。这样做有许多好处微服务只关心核心业务逻辑不需要处理身份验证、权限验证等安全问题减少了开发人员的负担。网关可以统一处理多种认证方式如 JWT、OAuth 2.0、Basic Auth、API Key 等灵活配置不同的认证机制。 微服务模块介绍 gateway-service网关模块 包括负载均衡 路由拦截 权限校验 user-service 用户模块 包括用户登录 获取个人信息 等 goods-service购物车模块 获取商品信息 搜索 全局POM依赖 以下配置需要在全部微服务中进行引入 !-- Sa-Token 权限认证Reactor响应式集成, 在线文档https://sa-token.cc --dependencygroupIdcn.dev33/groupIdartifactIdsa-token-reactor-spring-boot-starter/artifactIdversion1.39.0/version/dependency!-- Sa-Token 整合 Redis 使用 jackson 序列化方式 --dependencygroupIdcn.dev33/groupIdartifactIdsa-token-redis-jackson/artifactIdversion1.39.0/version/dependency!-- Sa-Token工具 --dependencygroupIdorg.apache.commons/groupIdartifactIdcommons-pool2/artifactId/dependency全局配置文件 集成Redis 以下配置需要在全部微服务中进行引入 spring:redis:# Redis数据库索引默认为0database: 1# Redis服务器地址host: 127.0.0.1# Redis服务器连接端口port: 6379# Redis服务器连接密码默认为空# password:# 连接超时时间timeout: 10slettuce:pool:# 连接池最大连接数max-active: 200# 连接池最大阻塞等待时间使用负值表示没有限制max-wait: -1ms# 连接池中的最大空闲连接max-idle: 10# 连接池中的最小空闲连接min-idle: 0 sa-token:# token 有效期单位秒 默认30天-1 代表永久有效timeout: 2592000# token 最低活跃频率单位秒如果 token 超过此时间没有访问系统就会被冻结默认-1 代表不限制永不冻结active-timeout: 10# 是否允许同一账号多地同时登录 为 true 时允许一起登录, 为 false 时新登录挤掉旧登录is-concurrent: true# 在多人登录同一账号时是否共用一个 token 为 true 时所有登录共用一个 token, 为 false 时每次登录新建一个 tokenis-share: true# token 风格默认可取值uuid、simple-uuid、random-32、random-64、random-128、tiktoken-style: uuid# 是否输出操作日志is-log: true网关微服务 配置文件 server: spring: application:name: gateway #服务名称cloud:nacos:server-addr: 172.23.4.128:8848 #注册中心gateway:routes:- id: java-user #路由ID 一般为服务名称uri: lb://java-user #转发的路径 lb为负载均衡 java-user为服务接口predicates: #路由条件- Path/user/** #请求接口路径# - Path/user/**,/path/** 多个控制器这样写- id: java-goodsuri: lb://java-goodspredicates:- Path/goods/**全局过滤器 网关对所有的请求进行拦截 /*** [Sa-Token 权限认证] 配置类* author click33*/ Configuration public class SaTokenConfigure {// 注册 Sa-Token全局过滤器Beanpublic SaReactorFilter getSaReactorFilter() {return new SaReactorFilter()// 拦截地址.addInclude(/**) /* 拦截全部path */// 开放地址.addExclude(/favicon.ico)// 鉴权方法每次访问进入.setAuth(obj - {// 登录校验 -- 拦截所有路由并排除/user/doLogin 用于开放登录SaRouter.match(/**, /user/login, r - StpUtil.checkLogin());})// 异常处理方法每次setAuth函数出现异常时进入.setError(e - {return SaResult.error(e.getMessage());//SaResult.error(e.getMessage()) 可以修改成自己的});} }网关转发鉴权 网关通过权限校验后会将请求转发到对应的微服务上这时子微服务也会有相对于的权限校验需要把改用户的token一起转发这样子微服务的权限校验才会通过。方法还很简单只需要在头发的头部添加SAME_TOKEN参数即可 /*** 全局过滤器为请求添加 Same-Token*/ Component public class ForwardAuthFilter implements GlobalFilter {Overridepublic MonoVoid filter(ServerWebExchange exchange, GatewayFilterChain chain) {ServerHttpRequest newRequest exchange.getRequest().mutate()// 为请求追加 Same-Token 参数.header(SaSameUtil.SAME_TOKEN, SaSameUtil.getToken()).build();ServerWebExchange newExchange exchange.mutate().request(newRequest).build();return chain.filter(newExchange);} }用户微服务 spring:application:name: java-user #服务名称登录接口 RestController AllArgsConstructor RequestMapping(/user) public class UserController {private final IUserService userService;PostMapping(/login)public SaResult login(RequestBody User retUser){System.out.println(用户登录);LambdaQueryWrapperUser queryWrapper new LambdaQueryWrapper();queryWrapper.eq(User::getPhone, retUser.getPhone()).eq(User::getPassword,retUser.getPassword());User user userService.getOne(queryWrapper);if(usernull){return SaResult.error(账号或密码错误);}System.out.println(user);StpUtil.login(user.getId());SaTokenInfo tokenInfo StpUtil.getTokenInfo();return SaResult.ok(tokenInfo.getTokenValue());} }商品微服务 spring:application:name: java-goods #服务名称商品权限校验 /*** Sa-Token 权限认证 配置类*/ Configuration public class SaTokenConfigure implements WebMvcConfigurer {// 注册 Sa-Token 全局过滤器Beanpublic SaServletFilter getSaServletFilter() {return new SaServletFilter().addInclude(/**).addExclude(/favicon.ico).setAuth(obj - {// 校验 Same-Token 身份凭证 —— 以下两句代码可简化为SaSameUtil.checkCurrentRequestToken();String token SaHolder.getRequest().getHeader(SaSameUtil.SAME_TOKEN);SaSameUtil.checkToken(token);}).setError(e - {return 无访问权限;});} }如果通过网关转发可以正常访问。如果直接访问子服务会提示无效Same-Tokenxxx 服务间内部调用鉴权 在微服务架构中服务间调用鉴权是确保服务之间安全通信的一种机制防止未经授权的访问。每当一个微服务调用另一个微服务时都需要验证调用者的身份和权限。常见的服务间鉴权方式包括基于令牌的鉴权、API Key、OAuth2、JWTJSON Web Token等方式。 创建OpenFeignConfig请求拦截器 /*** feign拦截器, 在feign请求发出之前加入一些操作 */ Component public class FeignInterceptor implements RequestInterceptor {// 为 Feign 的 RCP调用 添加请求头Same-Token Overridepublic void apply(RequestTemplate requestTemplate) {requestTemplate.header(SaSameUtil.SAME_TOKEN, SaSameUtil.getToken());// 如果希望被调用方有会话状态此处就还需要将 satoken 添加到请求头中// requestTemplate.header(StpUtil.getTokenName(), StpUtil.getTokenValue());} }OpenFeignConfig请求接口 被调用方的代码无需更改保持启动测试即可 FeignClient(name java-goods, // 服务名称configuration FeignInterceptor.class // 请求拦截器 关键代码 ) public interface GoodsClient {GetMapping(/goods/list)ListGoods list();// ListGoods list(RequestParam(ids) ListLong ids); //传承就这样写}
http://www.hkea.cn/news/14422121/

相关文章:

  • 网站开发遇到的问题及解决方法搜索引擎推广是什么意思
  • app网站开发报价湖南禹班建设集团有限公司网站
  • 上海著名的网站制作公司域名与网站
  • asp网站安全常见的推广平台有哪些
  • 自助建站实验报告西安网站开发服务多少钱
  • 百度收录提交入口网址seo优化技术
  • 大新网站制作成都铁路局贵阳建设指挥部网站
  • 番禺网站建设哪家好深圳燃气公司是国企吗
  • 怎么自己在微信上做网站内部建设网站需要什么条件
  • 学做网站零基础阿里云 网站备案
  • 佛山新网站制作代理商网站建设类的职位
  • 福建富通建设有限公司网站重庆网络安全公司
  • wifi管理网站会计证继续教育在哪个网站做
  • 企业门户网站建设流程重庆网站排名公司
  • wordpress最大发布大小排名优化seo
  • 建设的招标网站创建论坛网站需要多少钱
  • 中山论坛建站模板重庆seo网站运营
  • 手机端视频网站模板下载网站更新的意义
  • 国家重点项目建设部网站机械网站建设中心
  • 网站集约化后如何建设励志响亮的建筑公司名
  • 租用微信做拍卖网站家装公司报价
  • 自己有网站怎么推广iis管理器添加网站
  • 网站域名不合法西安网站建设g
  • 做网站有哪些项目南宁平台公司
  • 学校网站结构图快速做网站
  • 网站原型用wampserver搭建网站
  • asp网站伪静态规则银川做网站服务
  • 电子商务网站是什么意思网站建设现状分析
  • 电子商务网站建设计划如何维护自己公司网站
  • 做网站卖专业卖文玩建筑网站汇总