步骤1:创建ASP.NET Web API项目 在Visual Studio中创建ASP.NET Web API项目。可以使用以下命令:
dotnet new webapi -n MyProject
此命令将在一个名为MyProject的文件夹中创建一个新的ASP.NET Web API项目。
步骤2:安装必要的NuGet包 要授权Ajax请求并验证JWT token有效性,需要安装以下NuGet包:
dotnet add package Microsoft.AspNetCore.Authentication.JwtBearer dotnet add package Microsoft.IdentityModel.Tokens
步骤3:添加授权中间件 在Startup.cs文件中,将以下代码添加到ConfigureServices方法中:
services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme) .AddJwtBearer(options => { options.RequireHttpsMetadata = false; options.SaveToken = true; options.TokenValidationParameters = new TokenValidationParameters { ValidateIssuer = true, ValidateAudience = true, ValidateLifetime = true, ValidateIssuerSigningKey = true, ValidIssuer = "your-issuer", ValidAudience = "your-audience", IssuerSigningKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes("your-key")) }; });
上述代码会将JWT身份验证中间件添加到应用程序中,并配置它以验证JWT token。ValidIssuer,ValidAudience和IssuerSigningKey属性应根据实际情况更改。
步骤4:添加授权策略 在Startup.cs文件中,将以下代码添加到ConfigureServices方法中:
services.AddAuthorization(options => { options.AddPolicy("YourPolicy", policy => { policy.AuthenticationSchemes.Add(JwtBearerDefaults.AuthenticationScheme); policy.RequireAuthenticatedUser(); }); });
上述代码会将授权策略添加到应用程序中。可以添加多个授权策略,每个策略都需要指定所需的身份验证方案和要求用户已经通过身份验证。
步骤5:授权Ajax请求 在需要授权的控制器或操作方法中,将[Authorize]属性添加到方法上方。例如:
[Authorize("YourPolicy")]
public async Task
这样可以确保只有通过身份验证的用户才能访问该操作方法