在IIS上具有Windows身份验证的Asp.Net Core MVC

问题描述

我有一个带有Windows身份验证的ASP.NET Core MVC应用程序。我在公司局域网中的IIS服务器上发布了它。一切正常,所有用户均使用其权限登录。但是,每次他们打开浏览器时,都需要输入其凭据。每次我们看到一个用于输入用户名密码的窗口。如何使登录自动进行?

我将此字符串添加到Startup.cs

public void ConfigureServices(IServiceCollection services)
{
…
services.AddAuthentication(IISDefaults.AuthenticationScheme);

//custom authorization
services.AddAuthorization(options =>
{
   options.AddPolicy("Operator",policy => policy.AddRequirements(new CheckADGroupRequirement(Configuration["RolesConfig:Operator"],Configuration["RolesConfig:Manager"])));
   options.AddPolicy("Manager",policy => policy.AddRequirements(new CheckADGroupRequirement(Configuration["RolesConfig:Manager"])));
});

services.AddSingleton<IAuthorizationHandler,CheckADGroupHandler>();
//custom authorization

…
}

public void Configure(IApplicationBuilder app,IWebHostEnvironment env)
{
…
app.UseAuthentication();
…
}

在IIS中,我仅设置为 Enabled Windows身份验证

我发现唯一的解决方案是在“ Internet选项”中设置了“自动登录”,但我认为这是一种不好的做法。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)