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

免费前端模板网站医院网站建设方案

免费前端模板网站,医院网站建设方案,门户网站建设工作汇报,陕西网站建设多少钱文章目录 1.打造网关1.1 简介1.2 连接模式1.3 打造网关 2.身份认证与授权2.1 身份认证方案2.1.1 JWT是什么2.1.2 启用JwtBearer身份认证2.1.3 配置身份认证2.1.4 JWT注意事项 1.打造网关 1.1 简介 BFF(Backend For Frontend)负责认证授权,服务聚合,目标…

文章目录

    • 1.打造网关
      • 1.1 简介
      • 1.2 连接模式
      • 1.3 打造网关
    • 2.身份认证与授权
      • 2.1 身份认证方案
        • 2.1.1 JWT是什么
        • 2.1.2 启用JwtBearer身份认证
        • 2.1.3 配置身份认证
        • 2.1.4 JWT注意事项

1.打造网关

1.1 简介

BFF(Backend For Frontend)负责认证授权,服务聚合,目标是为前端提供服务。BFF是在前后端分离架构出来后才出现的,为前端提供单纯的API样式的网关。

在微服务架构中网关和BFF的区别实际不大,二者之间的职责可以是重叠,聚合的,本质来讲BFF模式是网关职责的一种进化。

1.2 连接模式

在这里插入图片描述

传统的连接模式

在这里插入图片描述

共享网关模式的好处是统一的入口,所有的应用程序通过单一的网关进行请求,适合网关比较强大并且所有接口都在网关上注册,要求网关的可用性比较高。

在这里插入图片描述

随着业务的发展,单个服务并不能满足要求,很可能需求是需要跨微服务之间进行组装数据,这时候就出现了聚合服务。聚合服务可以单独作为一个服务存在微服务的体系下,也是通过网关去访问它,实际上聚合服务也可以设计在网关中,这样的网关实际上就类似于BFF。

在这里插入图片描述

专用网关模式指的是针对不同的客户端采用不用的网关,比如将移动端和PC的网关分开。这样的好处在于,不同的客户端所依赖的网关是不同的,可以使故障隔离,不用端之间是不会收到相互之间的影响;同时也可以为不同端设计不同的数据聚合接口,暴露不同的微服务Api。不同业务线之间只要维护自己的网关,同时根据自身业务线去进行业务的拆分

1.3 打造网关

  • 添加包Ocelot 14.0.3
  • 添加配置文件ocelot.json
  • 添加配置读取代码
  • 注册Ocelot服务
  • 注册Oceot中间件
// startuppublic Startup(IConfiguration configuration)
{Configuration = configuration;
}public IConfiguration Configuration { get; }public void ConfigureServices(IServiceCollection services)
{services.AddOcelot(Configuration);
}public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{... app.UseOcelot().Wait(); // 放最后是为了让网关内置的 Api仍然生效
}

2.身份认证与授权

2.1 身份认证方案

  • Cookie
  • JWT Bearer

2.1.1 JWT是什么

  • 全程 Json Web Tokens
  • 支持签名的数据结构

在这里插入图片描述

2.1.2 启用JwtBearer身份认证

  • Microsoft.AspNetCore.Authentication.JwtBearer

2.1.3 配置身份认证

  • Ocelot网关配置身份认证
  • 微服务配置认证与授权
// appsetting.json配置秘钥
{"Logging": {"LogLevel": {"Default": "Information","Microsoft": "Warning","Microsoft.Hosting.Lifetime": "Information"}},"SecurityKey": "aabbccddffskldjfklajskdlfjlas234234234"
}// startup 配置var secrityKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(Configuration["SecurityKey"]));services.AddSingleton(secrityKey);services.AddAuthentication(CookieAuthenticationDefaults.AuthenticationScheme).AddCookie(CookieAuthenticationDefaults.AuthenticationScheme, options =>{}).AddJwtBearer(JwtBearerDefaults.AuthenticationScheme, options =>{options.TokenValidationParameters = new TokenValidationParameters{ValidateIssuer = true,//是否验证IssuerValidateAudience = true,//是否验证AudienceValidateLifetime = true,//是否验证失效时间ClockSkew = TimeSpan.FromSeconds(30),ValidateIssuerSigningKey = true,//是否验证SecurityKeyValidAudience = "localhost",//AudienceValidIssuer = "localhost",//IssuerIssuerSigningKey = secrityKey//拿到SecurityKey};});// 注册
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{...// 这两个需要注册在UseEndpoints之前app.UseAuthentication();app.UseAuthorization();app.UseEndpoints(endpoints =>{endpoints.MapHealthChecks("/live");endpoints.MapHealthChecks("/ready");endpoints.MapHealthChecks("/hc", new Microsoft.AspNetCore.Diagnostics.HealthChecks.HealthCheckOptions{ResponseWriter = HealthChecks.UI.Client.UIResponseWriter.WriteHealthCheckUIResponse});endpoints.MapControllers();endpoints.MapDefaultControllerRoute();});app.UseOcelot().Wait();
}

2.1.4 JWT注意事项

  • Payload信息不宜过大
  • Payload不宜存储敏感信息
http://www.yidumall.com/news/11199.html

相关文章:

  • 棠下手机网站建设报价百度问一问官网
  • 有哪些网站是做网批女装营销策略有哪些
  • 成都游戏网站建设seo技术教程博客
  • 如何在外管局网站做延期收汇拓客公司联系方式
  • 老外做摄影网站花多少钱网站排名软件利搜
  • 腾云网seo人员的相关薪资
  • 云南云南住房和城乡建设厅网站商品关键词优化的方法
  • Python爬取wordpress博客优化精灵
  • 武汉网站改版维护搜索引擎有哪些类型
  • 深圳建立网站营销seo建站要求
  • wordpress插表格seo的培训网站哪里好
  • 模板网站很牛青岛网站seo推广
  • 南京定制网站建设搜索引擎优化培训中心
  • 有口碑的网站建设seo外链平台
  • 做外贸网站公司哪家好可口可乐软文营销案例
  • 网络营销是什么大类整站优化
  • 职业规划网站企业如何开展网络营销
  • 网站建设运营有限公司找相似图片 识别
  • b2c交易模式的网站有哪些百度推广深圳分公司
  • 搭建本地网站环境广告联盟平台挂机赚钱
  • 美女直接做的网站百度指数是干嘛的
  • 建一个外贸网站多少钱怎么在百度上添加自己的店铺地址
  • 晋城网站设计线下推广方法及策略
  • 用.aspx做网站sem数据分析
  • 宣讲家网站两学一做心得济南计算机培训机构哪个最好
  • 鄄城网站开发广告网站建设网站排名优化
  • 自主建站是什么意思杭州seo网络推广
  • 深圳常平网站建设制作公司网站定制设计
  • 外包加工网注册收费靠谱吗优化网站的公司哪家好
  • 网站建设的公司有哪些泰安百度公司代理商