AspNetCore2中,可以使用HTTP.SYS进行条件窗口身份验证。条件窗口身份验证是指,只有当请求来自特定的Windows用户或组时,才会成功进行身份验证。
要实现条件窗口身份验证,可以使用“Microsoft.AspNetCore.Authentication.Negotiate” NuGet包。此包提供了“Negotiate authentication”中间件,可与HTTP.SYS一起使用。
使用HTTP.SYS和Negotiate authentication中间件进行条件窗口身份验证的代码示例如下:
在“Startup.cs”文件中,添加以下代码:
using Microsoft.AspNetCore.Builder;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.AspNetCore.Authentication.Negotiate;
public class Startup
{
public void ConfigureServices(IServiceCollection services)
{
services.AddAuthentication(NegotiateDefaults.AuthenticationScheme)
.AddNegotiate();
services.AddMvc();
}
public void Configure(IApplicationBuilder app)
{
app.UseAuthentication();
app.UseMvc();
}
}
在上述代码中,“AddAuthentication”方法用于添加身份验证服务,“AddNegotiate”方法用于配置Negotiate authentication中间件。“UseAuthentication”方法用于在管道中添加身份验证中间件。
通过上述代码,即可在AspNetCore2应用程序上使用HTTP.SYS实现条件窗口身份验证。