最近開發vsto程序需要上傳文檔到moss平台,因為網站使用的是windows集成認證,所以遇到了權限問題,需要輸入密碼。使操作和用戶體驗非常不方便,研究了好久沒有找到好的方法,最後終於讓我踏破鐵鞋總結出了下面的方法,原理我個人的理解應該是模擬IE發送驗證的消息進行驗證,可以通過實現登錄的問題。
注:需要添加名稱為Microsoft XML,V2.6以上版本的COM引用
代碼如下:
private void button3_Click(object sender, EventArgs e)
{
this.textBox1.Text=@"http://localhost/Default.aspx"; //認證的網址或路徑
this.textBox2.Text="spsservice"; //賬戶名
this.textBox3.Text = "Zd$1234"; //密碼
MSXML2.XMLHTTP http = new MSXML2.XMLHTTP();
http.open("post", this.textBox1.Text, false, this.textBox2.Text, this.textBox3.Text);
http.send("");
switch (http.status)
{
case 200:
{
MessageBox.Show("登錄成功!");
break;
}
case 401:
{
MessageBox.Show("用戶名和密碼錯誤");
break;
}
default:
{
MessageBox.Show("連接失敗,請重試");
break;
}