В настоящее время у меня есть 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);
}
}
Может кто-нибудь объяснить мне, почему это происходит? И как я могу это исправить? Спасибо.