6

您好我正在开发一个 WPF 应用程序,其中我有一个 WPF 浏览器控件,该控件导航到 url“http:....”,它采用 windows 凭据。

问题是:当我复制粘贴 URL 时,它只是执行身份验证并且工作正常。但是,当从 WPF Web 浏览器导航时,它并没有获得 Windows 的信任。

 public void StartNavigation()
        {
            if (!String.IsNullOrEmpty(URL) && webBrowser.Source == null)
                webBrowser.Navigate(new Uri(URL));
        }

<UserControl x:Class="Slb.iDistrict.Prism.Module.JobEmbeddedBrowser.View.JobEmbeddedBrowserView"
         xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
         xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
         xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
         xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
         mc:Ignorable="d" Loaded="UserControl_Loaded"
         d:DesignHeight="300" d:DesignWidth="300">
<Grid>
    <WebBrowser Name="webBrowser"/>
</Grid>

UserControl_Loaded> 事件将调用 StartNavigation() 方法。我的网址如下所示:“ http://www.test.cmp.com/App/Login/SingleSignon.aspx?Screen=sample&BL=cc&JN=12345 ”当我导航时,我的 Browser.Source 被重置为一些 default.aspx网站的页面。我认为这是因为无法获取 Windows 身份验证信息。我试图在网上找到一些帮助,但没有找到合适的结果。

什么和问题在哪里?

4

1 回答 1

0

WPF Web 浏览器有错误:它忽略了 '#' 之后的 URL 部分。也许身份验证服务会将您重定向到 url 中带有“#”的页面,并且此重定向失败。例如 vk.com 中的身份验证不起作用。

于 2014-02-11T13:53:01.463 回答