C# ASP.Net核心:保持windows身份验证

C# ASP.Net核心:保持windows身份验证,c#,asp.net-mvc,asp.net-core-mvc,asp.net-core-2.0,windows-authentication,C#,Asp.net Mvc,Asp.net Core Mvc,Asp.net Core 2.0,Windows Authentication,我实际上在一个网站上工作,用户通过windows身份验证登录 我的问题是,实际上所有用户在打开我们的网页时都必须登录。 我想知道是否有可能保持windows身份验证活动?也许是饼干 通过将其添加到我的Startup.cs,我实现了身份验证: services.Configure<IISOptions>(options => { options.AutomaticAuthentication = true; }); services.AddAuthentication(

我实际上在一个网站上工作,用户通过windows身份验证登录

我的问题是,实际上所有用户在打开我们的网页时都必须登录。 我想知道是否有可能保持windows身份验证活动?也许是饼干

通过将其添加到我的
Startup.cs
,我实现了身份验证:

services.Configure<IISOptions>(options =>
{
    options.AutomaticAuthentication = true;
});

services.AddAuthentication(IISDefaults.AuthenticationScheme);
如果用户未登录,则要求其登录

即使用户正在关闭浏览器,是否有办法保持windows身份验证活动


提前感谢您的帮助和想法

我找到了一种得到我想要的东西的方法,但这不是我想要的方式:

我最终宣布我的网站是一个被捆绑的网站。这里的诀窍是,登录数据总是传递给Web服务器

在chrome中,您可以通过以下方式实现:菜单->设置->高级设置->更改代理设置->安全->可信站点->添加页面的URL

可在此处找到打开该设置的其他方法(Firefoy,IE):

这样做只适用于您实际使用的PC。
这些设置通常由系统管理员管理。在这种情况下,管理员可以为网络中的所有用户设置受信任的站点。boom每个用户都会自动登录,并且登录数据始终可用。

看起来,您的问题是一般性的,与asp.net核心无关。试着检查一下:这不是你的情况吗?(浏览器中的“仅在本地intranet中启用自动登录->确定”设置)还有一个想法:有时NTLM有效,而Kerberos无效:@d\f感谢您的想法。但这些并没有帮助我。我最终在整个网络上都信任该站点。如果您的方法有效,那么您的客户机与服务器不在同一个域中。否则,默认的“仅在本地intranet中自动登录”就足够了。所以。。。是的,您可以进行一次身份验证,然后将结果保存在cookie中。。。但不会有真正的Windows身份验证——会有Cookie身份验证,依赖Windows one。如果有办法通过Cookie实现这一点,我期待着阅读您的答案和想法。
[Authorize]
public IActionResult Index()
{
    return View();
}