C# 在打开Web浏览器时以编程方式提供凭据(用于CRM登录)

C# 在打开Web浏览器时以编程方式提供凭据(用于CRM登录),c#,browser,dynamics-crm-2011,credentials,C#,Browser,Dynamics Crm 2011,Credentials,我有一个C#WPF应用程序,可以在CRM 2011中的某些事件或按钮点击时打开特定联系人或其他站点。由于我无法始终使用Windows凭据登录Webbrowser(因为用户也可以使用IFD通过其他帐户从外部访问网络),用户必须在每次关闭所有浏览器窗口时提供其凭据。这是非常恼人的几次之后 我尝试使用ProcessStartInfo类 ProcessStartInfo proc = new... proc.UserName = credentials.UserName; proc.Password=

我有一个C#WPF应用程序,可以在CRM 2011中的某些事件或按钮点击时打开特定联系人或其他站点。由于我无法始终使用Windows凭据登录Webbrowser(因为用户也可以使用IFD通过其他帐户从外部访问网络),用户必须在每次关闭所有浏览器窗口时提供其凭据。这是非常恼人的几次之后

我尝试使用ProcessStartInfo类

ProcessStartInfo proc = new...
proc.UserName = credentials.UserName;
proc.Password= credentials.Password;
Process.Start(proc);
但这只会引发一个关于无效数据的异常。。。 接下来我尝试将logindata放入URL中,如
user:pass@crmsite
但这也不行(如果可能的话,我也不想使用这种方法)。 我甚至尝试向IE注入带有logindata的cookie,但并没有成功

是否有一种方法可以通过编程方式向浏览器提供凭据,以便您自动登录到CRM

更新:增加会话超时或类似的操作将不起作用,因为我们正在使用CRM。没有使用Windows凭据的自动登录


用户甚至不必首先键入他的凭据。所有数据都应该从我的应用程序中提供。

您可以增加会话超时时间。查看本文:


谢谢你的回答,但我不知道这对解决我的问题有什么帮助。如果浏览器窗口关闭,它可能会删除cookie,也可能不会删除cookie,会话也会消失。下次打开窗口时,用户需要再次登录。我的问题与会话超时无关。试试看。如果您关闭浏览器,我不确定您的会话是否已结束。正在将会话保存到服务器上..确定这可能有效。但是有没有可能以某种方式提供登录数据,这样我就不必登录浏览器了?即使是第一次公开赛。这就是我想知道的。尽管如此,我没有访问CRM服务器的权限,无法执行您建议的这些更改。目前,用户每次关闭最后一个浏览器窗口时都必须登录。我忘了提到我们正在使用IFD(面向Internet的部署)作为身份验证方法。会话超时无效,因为Windows凭据不用于自动登录