c# - 有没有办法将凭据传递给 WebBrowser Control?
问题描述
目前我有一个 winform,我需要在 WebBrowser Control 中打开报告。我正在使用模拟方法来查看不同的用户。但不知何故,WebBrowser 会弹出一个 Windows 安全身份验证让我输入我的凭据。当我作为有权查看报告的人(不是我的凭据)输入凭据时,它只会显示一个空白页。甚至没有一条消息说:
授予用户“域\first.last”的权限不足以执行此操作。(rsAccessDenied)
第一页:
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
using (new ImpersonateUser("TestUsername", Environment.UserDomainName, "TestPassword"))
{
Form2 reportForm = new Form2();
reportForm.Text = "Test";
reportForm.GetReportUrl("http://url/");
reportForm.ShowDialog();
}
}
}
第二页:
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
label1.Text = Environment.UserName;
}
private void Form2_Load(object sender, EventArgs e)
{
webBrowser1.Refresh();
}
public void GetReportUrl(string repUrl)
{
webBrowser1.Url = new Uri(repUrl);
}
}
有人可以向我解释为什么会这样吗?我该如何解决这个问题?谢谢你。
解决方案
但是我不明白为什么你必须模拟来启动一个表单,从上面的代码中你没有通过模拟来做任何事情。
如果您在用户配置文件下启动应用程序时遇到问题,那么下面的链接将很有帮助。
推荐阅读
- r - lpp() 如何处理不完全落在段上的点?
- javascript - ٍ使用JSDOM时出错
- scala - 如何将未编译的 Spark Scala/spark-shell 代码作为 Dataproc 作业运行?
- azure-devops - 通过powershell安装部署组代理时出现服务器时间错误
- javascript - 如何复制文件夹中的文件进行构建?
- python - numpy.linalg.eig 返回的特征值何时排序?
- python - python - 如何迭代字符串/数组
- raspberry-pi3 - 无法更新 Raspbian
- c++ - Forward Declaration and Accessing member functions in an inherited class
- sleep - 智能手表访问