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

网站建设报道稿谷歌搜索入口中文

网站建设报道稿,谷歌搜索入口中文,wordpress转域名收费吗,软件开发和网站建设哪个好在前后端分离的架构中#xff0c;前端需要通过 API 接口的方式获取数据#xff0c;但 API 是无状态的#xff0c;没有办法知道每次请求的身份#xff0c;也就没有办法做权限的控制。如果不做控制#xff0c;API 就对任何人敞开了大门#xff0c;只要拿到了接口地址就可以… 在前后端分离的架构中前端需要通过 API 接口的方式获取数据但 API 是无状态的没有办法知道每次请求的身份也就没有办法做权限的控制。如果不做控制API 就对任何人敞开了大门只要拿到了接口地址就可以进行调用这是非常危险的。本文主要介绍下在 dotNET Core Web API 中使用 Jwt 来实现接口的认证。Jwt 简介Jwt 的全称是 JSON Web Token是目前比较流行的接口认证解决方案。有了 Jwt 后从客户端请求接口的流程如下图客户端发送用户名密码信息到认证服务器获取 token客户端请求 API 获取数据时带上 token服务器端验证 token合法则返回正确的数据。有一个网站叫https://jwt.io/ 我们在这个站点上对 Jwt 产生的 token 做验证从上图可以看出 Jwt 生产的 token 由三个部分组成Header红色头Playload紫色负载Verify Sigantuer蓝色签名这三个部分由英文的点进行分隔开eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJuYW1lIjoib2VjMjAwMyIsInNpdGUiOiJodHRwOi8vZndoeXkuY29tIiwiaWF0IjoxNTE2MjM5MDIyfQ.DYgo4eEUwlYJqQoLvAuFPxFRVcCow77Zyl2byaK6Uxk Header头信息是一个 Json 格式的数据{alg: HS256,typ: JWT } alg表示加密的算法typ表示 token 的类型PlayloadPlayload 是 token 的主体内容部分我们可以用来传递一些信息给客户端比如过期时间就是通过 Playload 来进行传递的。但因为默认情况下 Playload 的数据是明文的所以敏感信息不要放在这里。Verify SigantuerVerify Sigantuer 是对前面两个部分的签名防止数据篡改。使用 Jwt下面一步步介绍在 dotNET Core Web API 项目中使用 Jwt添加 Jwt 的包引用在 Web API 项目中添加对 Microsoft.AspNetCore.Authentication.JwtBearer 包的引用修改 Starup1、在 ConfigureServices 方法中添加服务注册。// jwt 认证 JwtSettings jwtSettings  new JwtSettings(); services.ConfigureJwtSettings(Configuration.GetSection(JwtSettings)); Configuration.GetSection(JwtSettings).Bind(jwtSettings);services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme).AddJwtBearer(o{o.TokenValidationParameters  new Microsoft.IdentityModel.Tokens.TokenValidationParameters(){ValidateIssuerSigningKey  true,ValidIssuer  jwtSettings.Issuer,ValidAudience  jwtSettings.Audience,//用于签名验证IssuerSigningKey  new SymmetricSecurityKey(Encoding.ASCII.GetBytes(jwtSettings.SecretKey)),ValidateIssuer  false,ValidateAudience  false};}); JwtSettings 的配置设置在 appsettings.json 配置文件中2、在 Configure 方法中添加对中间件的使用。app.UseAuthentication(); app.UseAuthorization(); 添加认证接口添加 AuthorizeController 控制器[ApiController] public class AuthorizeController: BaseController {private readonly IUserService _userService;private readonly JwtSettings _jwtSettings;public AuthorizeController(IMapper mapper,IUserService userService,IOptionsJwtSettings options) : base(mapper){_userService  userService;_jwtSettings  options.Value;}/// summary///  获取 token/// /summary/// param namerequest/param/// returns/returns[HttpPost]public string Token(TokenDto request){bool isValidate  _userService.ValidatePassword(request.UserName, request.Password);if(!isValidate) return string.Empty;var claims  new Claim[]{new Claim(ClaimTypes.Name,request.UserName)};var key  new SymmetricSecurityKey(Encoding.UTF8.GetBytes(_jwtSettings.SecretKey));var creds  new SigningCredentials(key, SecurityAlgorithms.HmacSha256);var token  new JwtSecurityToken(_jwtSettings.Issuer,_jwtSettings.Audience,claims,DateTime.Now,DateTime.Now.AddSeconds(10),creds);return new JwtSecurityTokenHandler().WriteToken(token);} } 上面代码中使用 IOptions 来做强类型配置将 JwtSettings 配置类注入到该控制器中使用关于更多配置内容可以参考《dotNET Core 配置》。使用 Postman 测试1、在需要进行认证的控制器或接口方法上添加 [Authorize] 标记。2、调用接口 http://localhost:5000/api/Authorize/token 获取 token。3、在请求接口时使用 Authorization 的方式使用 tokentoken 的类型为 Bearer Token 可以看到带上 token 后数据正常返回。在 Vue 中调用前端技术有很多种在这里以 Vue 为例Vue 中处理 Jwt 有以下几个步骤1、请求接口时判断 localStorage 中是否有 token 数据没有 token 数据或者 token 已经过期需要重新调用接口获取新的 token2、使用 axios 的拦截器在所有请求的 Header 中都添加 Authorization。示例代码Vuehttps://github.com/oec2003/vue-jwt-demo接口https://github.com/oec2003/DotNetCoreThreeAPIDemo希望本文对您有所帮助。
http://www.pierceye.com/news/751845/

相关文章:

  • 西安做网站朋朋网络花都区建设网站
  • 国外的贸易网站wordpress 不会编程
  • 设计网页作业seo如何优化网站推广
  • 黑龙江建设网官方网站特种作业电脑网站策划书
  • 系统开发和网站开发厦门专业网站营销
  • 网站在线交谈wordpress信息填写
  • 服饰网站建设微网站建设 合同
  • dede网站 远程生成wordpress后台不能登陆
  • word如何做网站链接湖南省绿色建筑信息平台
  • v9网站模板网站建设六道
  • php网站开发原理企业门户网站费用
  • 白银市建设管理处网站定制网站建设和运营
  • 免费音乐网站建设新闻资讯建站服务商
  • 佛山市建设企业网站服务机构普通网站建设计入什么科目
  • 阿里虚拟机建设网站网络科技有限公司营业执照
  • 如何申请建设网站首页培训机构怎么做线上推广
  • 网站维护升级访问中做网站工单
  • 如何用ae做模板下载网站电脑网站建设规划
  • 北京京水建设集团有限公司网站西青做网站
  • 自己建的网站可以用笔记本做服务器吗网站建设后台系统有哪些
  • 做的asp网站手机号码网站开发软件手机版
  • android 做电子书下载网站网络热词作文
  • 网络网站销售龙岩建筑网
  • 专门找事做的网站iis7 wordpress伪静态规则
  • 做字体的网站济宁网站建设 济宁智雅
  • 工程门户网站建设怎样制作表白网站
  • 手机如何创建个人网站上海 .net网站建设
  • 小程序app软件定制开发首页排名优化公司
  • 红酒 专业 网站建设视频网站后台
  • 宁波网站建设58同城百度突然搜不到网站