当前位置: 首页 > 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.zqtcl.cn/news/751845/

相关文章:

  • 乐清网站建设费用装修房子的app软件哪个好
  • 专业网站搭建运营工业网站素材
  • 建网站要会什么wordpress电影下载站
  • 济南设计网站的公司西安模板网站建设
  • 网站搜索功能如何实现网络培训学习心得体会
  • 网站设计方案书ppt网站展示型推广
  • 中国建设注册管理中心网站首页大连地区建设网站
  • 广州致峰网站建设藁城网络推广
  • 怎么做免费个人网站wordpress dux 5.3
  • 手机触屏版网站网站功能介绍
  • 商场设计案例青岛百度快速排名优化
  • 制作网站要步骤湖北省建设厅网站上岗证查询
  • 网站建设制作公司都选万维科技制作网站需要注意什么
  • jsp小型网站开发wordpress微博插件
  • app充值网站开发怎么去做网站
  • 合肥建站网站模板word上下页纸张方向
  • 大学跳蚤市场网站建设哈尔滨网站建设
  • 网站开发合同中的知识产权条款怎么给公司建网站
  • 网站代维护wordpress 主题中心
  • 中铁广州建设有限公司网站临安做企业网站的公司
  • 国内可访问的海外网站和应用重庆好玩还是成都好玩
  • 定制开发小程序天津做网站优化的公司
  • 公司网站首页怎么做在线二级域名子域名查询
  • 淮南网站优化公司国内什么网站用asp.net
  • 做数据网站带网站的图片素材
  • 大方县住房城乡建设局网站wordpress 连接flickr
  • 国家建设部网站倪虹邢台新闻最新事件
  • 杭州网站 建设广州金将令做网站怎么样
  • 苏州科建设交通学院网站地方网站类型
  • 怎样做投资理财网站城乡建设部网站第35号令