首页 > 解决方案 > WebView 不提示内网登录

问题描述

我有一个示例 WPF 应用程序,它使用选项卡允许用户使用不同的嵌入式浏览器导航到 uri。我已将 Microsoft.Toolkit.Win32.UI.Controls 添加到我的项目中,并尝试将 WebView 用于其中一个选项卡。

使用

<WebBrowser Name="Browser" Margin="0,0,0,0"/>

我在访问我们公司的 Intranet 站点时遇到了安全挑战。这很好!

使用

<Window x:Class="BrowserTester.MainWindow"
    xmlns:WPF="clr-namespace:Microsoft.Toolkit.Win32.UI.Controls.WPF;assembly=Microsoft.Toolkit.Win32.UI.Controls"
...
>
...
  <WPF:WebView Name="WebView" Margin="0,0,0,0"/>

访问我们公司的 Intranet 站点时,我没有遇到安全挑战。我只是得到失败的登录页面。这是不好的!

使用 Edge 我收到提示,因此理论上 WebView 应该使用正确的设置:

                      Windows 安全提示

我还设置了:

WebView.Settings.IsScriptNotifyAllowed = true;

无济于事。

根据一个站点对 Windows 集成身份验证的建议,我已将该站点显式添加到 Internet 选项Local Intranet区域,并将User Authentication>设置Logon为“提示输入用户名和密码”。

WebView 的文档不涉及身份验证,所以我的研究有点难过。

检查 Edge 中的网络流量时,我看到以下内容:

Status Code: 401 / Unauthorized

在我看到的响应标头中:

Server: Apache/2.4.18 (Ubuntu) OpenSSL/1.0.2g
WWW-Authenticate: Basic realm=***.*****.com

这可能会为正在发生的事情提供线索。

标签: c#wpfwebview

解决方案


推荐阅读