当前,我有一个Winform,需要在WebBrowser Control中打开报表。我正在使用模拟方法来查看不同的用户。但是以某种方式,WebBrowser会弹出一个Windows安全身份验证供我输入我的凭据。当我以有权查看报告的身份输入凭据(不是我的凭据)时,它将仅显示空白页面。甚至没有消息说:
授予用户“ Domain \ 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);
}
}
有人可以向我解释为什么会这样吗?我该如何解决呢?谢谢。
答案 0 :(得分:0)
但是我不明白为什么您必须进行模拟才能启动表单,根据以上代码,您没有通过模拟来做任何事情。
如果您在使用用户个人资料启动应用程序时遇到问题,则下面的链接将很有帮助。