ASP.NET Core提供了多种身份验证方式,其中包括Windows身份验证。下面是一个使用Windows身份验证的示例代码:
首先,在Startup.cs文件的ConfigureServices方法中添加Windows身份验证服务:
public void ConfigureServices(IServiceCollection services)
{
services.AddAuthentication(NegotiateDefaults.AuthenticationScheme)
.AddNegotiate();
services.AddControllersWithViews();
}
然后,在Configure方法中启用身份验证中间件:
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
// ...
app.UseAuthentication();
// ...
}
接下来,您可以在控制器或操作方法上应用[Authorize]属性来限制只允许Windows身份验证的用户访问:
[Authorize(AuthenticationSchemes = NegotiateDefaults.AuthenticationScheme)]
public class HomeController : Controller
{
// ...
}
如果您需要在控制器中获取用户的Windows身份信息,可以使用HttpContext.User.Identity.Name属性:
public IActionResult Index()
{
string windowsUsername = User.Identity.Name;
// ...
}
请注意,使用Windows身份验证需要确保应用程序运行在Windows身份验证可用的环境中。此外,还需要配置IIS以启用Windows身份验证。
希望这个示例可以帮助您使用ASP.NET Core进行Windows身份验证。