要使用Windows身份验证进行授权,可以使用ASP.NET Core的Windows身份验证中间件。下面是一个包含代码示例的解决方法:
首先,确保在ASP.NET Core应用程序中安装了Microsoft.AspNetCore.Authentication.Negotiate包。可以在项目文件(.csproj)或通过NuGet包管理器安装。
在Startup.cs文件中,添加以下代码来配置Windows身份验证中间件:
using Microsoft.AspNetCore.Authentication.Negotiate;
public void ConfigureServices(IServiceCollection services)
{
// 添加身份验证服务
services.AddAuthentication(NegotiateDefaults.AuthenticationScheme)
.AddNegotiate();
// 其他服务配置...
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
// 其他中间件配置...
// 启用身份验证中间件
app.UseAuthentication();
// 其他配置...
}
[Authorize]
public class HomeController : Controller
{
// 控制器方法...
}
public IActionResult Index()
{
var username = User.Identity.Name;
// 其他操作...
}
通过上述步骤,您可以使用ASP.NET Core进行Windows身份验证,并在控制器或操作方法中进行授权和访问控制。