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

旅行社电商网站怎么做汕头网站排名

旅行社电商网站怎么做,汕头网站排名,郑州seo联系搜点网络效果好,linux服务器做网站本文以一个完整的示例,展示如何在.NET 6.0 Web API项目中实现基于Token的身份验证。这个例子包括了如何创建和验证JWT Token,以及如何在控制器中使用这些Token。 步骤 1: 创建Web API项目 首先,用Visual Studio 2022创建一个基于.NET6.0的 …

        本文以一个完整的示例,展示如何在.NET 6.0 Web API项目中实现基于Token的身份验证。这个例子包括了如何创建和验证JWT Token,以及如何在控制器中使用这些Token。

步骤 1: 创建Web API项目

首先,用Visual Studio 2022创建一个基于.NET6.0的 Web API项目。

步骤 2: 安装必要的NuGet包

安装Microsoft.AspNetCore.Authentication.JwtBearer包。

步骤 3: 配置身份验证服务

Program.cs中配置身份验证服务:

using Microsoft.AspNetCore.Authentication.JwtBearer;
using Microsoft.IdentityModel.Tokens;
using System.Text;var builder = WebApplication.CreateBuilder(args);// 添加身份验证服务
builder.Services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme).AddJwtBearer(options =>{options.TokenValidationParameters = new TokenValidationParameters{ValidateIssuer = true,ValidateAudience = true,ValidateLifetime = true,ValidateIssuerSigningKey = true,ValidIssuer = builder.Configuration["Jwt:Issuer"],ValidAudience = builder.Configuration["Jwt:Audience"],IssuerSigningKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(builder.Configuration["Jwt:Key"]))};});// 添加授权服务
builder.Services.AddAuthorization();var app = builder.Build();// 使用身份验证和授权中间件
app.UseAuthentication();
app.UseAuthorization();// 其他配置和路由设置app.MapControllers();
app.Run();

步骤 4: 配置JWT设置

appsettings.json中配置JWT的相关设置:

{"Jwt": {"Issuer": "YourIssuer","Audience": "YourAudience","Key": "YourVerySecretKey"}
}

步骤 5: 创建Token生成控制器

创建一个控制器来生成Token:

using Microsoft.AspNetCore.Mvc;
using Microsoft.IdentityModel.Tokens;
using System;
using System.IdentityModel.Tokens.Jwt;
using System.Security.Claims;
using System.Text;[ApiController]
[Route("[controller]")]
public class AuthController : ControllerBase
{private readonly IConfiguration _configuration;public AuthController(IConfiguration configuration){_configuration = configuration;}[HttpPost("login")]public IActionResult Login([FromBody] LoginModel model){// 假设这里有一个验证逻辑,验证用户名和密码if (model.Username == "test" && model.Password == "password"){var tokenDescriptor = new SecurityTokenDescriptor{Subject = new ClaimsIdentity(new Claim[]{new Claim(ClaimTypes.Name, model.Username)}),Expires = DateTime.UtcNow.AddMinutes(5),SigningCredentials = new SigningCredentials(new SymmetricSecurityKey(Encoding.UTF8.GetBytes(_configuration["Jwt:Key"])), SecurityAlgorithms.HmacSha256Signature),Issuer = _configuration["Jwt:Issuer"],Audience = _configuration["Jwt:Audience"]};var tokenHandler = new JwtSecurityTokenHandler();var token = tokenHandler.CreateToken(tokenDescriptor);return Ok(new { token = tokenHandler.WriteToken(token) });}else{return Unauthorized();}}
}public class LoginModel
{public string Username { get; set; }public string Password { get; set; }
}

步骤 6: 创建受保护的控制器

创建一个控制器,只有持有有效Token的用户才能访问:

[ApiController]
[Route("[controller]")]
public class SecretController : ControllerBase
{[Authorize][HttpGet]public IActionResult Get(){return Ok("This is a secret message.");}
}

步骤 7: 调用API

要调用API,首先需要获取Token。可以使用Postman或类似的工具发送一个POST请求到/Auth/login,并提供用户名和密码。然后,使用返回的Token在Authorization头部中发送一个GET请求到/Secret

POST /Auth/login HTTP/1.1
Host: localhost:5000
Content-Type: application/json{"Username": "test","Password": "password"
}
GET /Secret HTTP/1.1
Host: localhost:5000
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJodHRwOi8vc2NoZW1hcy54bWxzb2FwLm9yZy93cy8yMDA1LzA1L2lkZW50aXR5L2NsYWltcy9uYW1lIjoidGVzdCIsImV4cCI6MTYxODI3MzYwNSwiaXNzIjoiWW91ciJJc3N1ZXIiLCJhdWQiOiJZb3VyQXV0aGVudGljYXRpb24ifQ.6_3QXxZ3VzZvjZ7RnV5NQz-7y_93fY0Y7Y6jV7-XzQ

确保在实际应用中实现安全的用户验证逻辑,并且不要在代码中硬编码敏感信息。此外,根据你的具体需求,可能还需要实现用户注册、Token刷新等功能

http://www.ds6.com.cn/news/48599.html

相关文章:

  • 地下城钓鱼网站如何做搜索引擎关键词优化
  • 重庆软件开发工资一般多少钦州seo
  • 外贸网站建站用什么北京百度推广投诉电话
  • 阜蒙县建设镇网站百度指数什么意思
  • 做育儿类网站用什么程序好图片外链工具
  • 上海网站建设 建站猫合肥seo优化公司
  • html5移动网站制作seo推广优化方案
  • wordpress微信付款后查看seo搜索引擎优化推广专员
  • 做电影网站用什么软件叫什么名字关键词优化排名
  • 个人网站开发的背景百度竞价广告投放
  • 企业网站为什么都选千博企业网站google官网进入
  • 网站被k的原因郑州关键词优化顾问
  • 怎么做阿里巴巴国际网站首页营销型网站一般有哪些内容
  • 做网站的企业排名大连seo顾问
  • 新建南昌网站建设公司58同城如何发广告
  • 如何在百度上做公司做网站如何建立网站 个人
  • 襄阳电商网站建设营销策略范文
  • 昌乐网站制作东莞做网站哪家公司好
  • 网站关键词代码怎么做百度推广怎么赚钱
  • 选择做网站销售的优势赣州seo外包
  • 做软件去哪个网站seo网站排名全选
  • 顺德网站建设哪家好泰安网站建设
  • 湛江海田网站建设招聘关键词优化的价格查询
  • 闵行区做网站公司搜索排名提升
  • 建立网站目录结构应遵循的方法和建议数据分析师需要学哪些课程
  • 软件开发流程模板网站google搜索优化
  • 如何自做网站企业关键词排名优化网址
  • 公司做网站设计要注意沈阳企业网站seo公司
  • 重庆品牌网站建设公司网站设计与制作
  • 付网站首期合同款怎么做分录企业培训课程ppt