根据我的研究,如果以下情况属实,UWP 托管的应用程序应该能够使用当前用户在 web 服务/网页上进行身份验证:
能力:
- 企业认证
- 专用网络(客户端和服务器)
- 互联网客户端
但是 - 我遇到以下情况:
- 如果我在网页上禁用匿名身份验证:
- Hosted-App 尝试加载页面,得到 401(带有“WWW-Authentication: Negotiate and WWW-Authentication: NTLM”)然后.....只是坐在那里什么都不做(没有登录对话框,没有错误,只是显示启动画面)
- 如果我启用匿名身份验证,但 [Authorize] 我的控制器:
- 初始页面加载正常(当然......没有身份验证)
- 第一次调用 web 服务将显示登录对话框,后续调用正常。
所以 - 我的问题:
- 我想要的(自动使用当前登录的用户进行身份验证)甚至可能吗?
- 如果是 - 我的问题可能是什么?
提前致谢
约翰内斯·科尔姆西
更新:
似乎(我在过去一小时所做的所有观察 - 以下都是“从远程 PC 连接到主机 PC”):
- 我的 Kerberos 设置被搞砸了(如果你安装 Forefront - 它会设置一切以便它工作,但没有别的......
- 修复后 - 我可以使用“常规浏览器”连接到页面
- 但是 - 如果我从 UWP-App 尝试它,会发生这种情况:
- 如果我使用 IP 地址 - 在服务器的第一个“401”响应之后......没有
- 如果我使用“主机名”(不是 FQDN) - 与服务器通信 3 次(3x 401) - 在此之后应该出现一个对话,但它没有。
- 不幸的是我不能使用 FQDN(一些名称解决问题 idk...)
两者 - IP-Adresse 和主机名在“常规浏览器”中都可以正常工作。我现在无法试用 HTTPS(我可以关闭有关证书问题的浏览器,UWP 托管的我不能)
现在....来自“本地到本地”连接的一些观察结果:
- 主机名:自动提取当前用户
- 本地主机:相同
- IP-Adresse:位于启动画面
在这种情况下,我无法观看网络流量(没有提琴手或其他方式)。
明天可能会有更多信息。