【发布时间】:2019-03-28 10:48:38
【问题描述】:
我正在开发一个 Asp.NET Core Web 应用程序,并按照 Microsoft 官方指南启用了 Windows 身份验证:
身份验证有效,但有一件事我不清楚。如果我使用浏览器从 Windows 域中的计算机访问该网站,我将有两种不同的行为,具体取决于我访问它的方式:
- 如果我使用地址中的机器名称(例如:https://devmachine01/)访问,浏览器会自动登录并通过身份验证,而无需用户进行任何操作
- 如果我使用机器的公共域名(例如:https://mypublicwebsite.com)访问,浏览器会要求我输入我的 Windows 凭据,如下图所示:
此时我的问题是:
- 有没有办法让浏览器自动登录,即使我 使用公共域而不是机器名访问? (显然,我只希望机器自动工作 浏览器运行所在的域已登录)
- 如果 第一个问题的答案是否定的,我至少可以配置我的 Asp.NET Core Web 应用程序,以便它记住用户,所以 用户只需登录一次(使用 cookie 或类似机制)? 根据我在上面链接的文章中提供的说明 用户每次关闭时都必须重新输入他的凭据,并且 重新打开浏览器,这不是最方便的。
【问题讨论】:
-
通常服务器必须相信它是本地/受信任的部分
-
@BugFinder:对不起,你能扩展一下吗?原谅我,但我是这种身份验证方法的新手,我不确定你在说什么......你是说这取决于服务器的配置方式吗?你是指机器还是我的网络应用?
-
它的浏览器设置不是别的。
标签: c# asp.net-core asp.net-core-mvc windows-authentication asp.net-core-2.2