2011-07-19 63 views
7

我想創建一個網頁使用javscript使用基於窗體的身份驗證登錄到SharePoint服務器,但它仍然使用基於Windows的身份驗證的NTLM。無論如何,允許使用JavaScript的基於表單的身份驗證,因爲這個網頁是移動和手機的?提前致謝。任何幫助讚賞。基於表單的身份驗證使用JavaScript的Sharepoint

我的代碼如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<title></title> 
<script src="jquery-1.6.2.min.js" type="text/javascript"></script> 
</head> 
<body> 
<div> 
<script type="text/javascript"> 

$(document).ready(function() { 
var soapEnv = "<soap:Envelope xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xmlns:xsd='http://www.w3.org/2001/XMLSchema' xmlns:soap='http://schemas.xmlsoap.org/soap/envelope/'> \ 
    <soap:Body> \ 
    <Login xmlns='http://schemas.microsoft.com/sharepoint/soap/'> \ 
     <username>username1</username> \ 
     <password>password</password> \ 
    </Login> \ 
    </soap:Body> \ 
</soap:Envelope>" 

// Call web service 
$.ajax({ 
url: "http://servername:serverport/_vti_bin/authentication.asmx", 
type: "POST", 
dataType: "xml", 
data: soapEnv, 
complete: processListAccessResult, 
contentType: "text/xml; charset=\"utf-8\"" 
}); 
}); 

// Process result 
function processListAccessResult(xData, status) { 
alert(xData); 
alert(status); 
} 

</script> 

<ul id="data"></ul> 

</div> 

</body> 
</html> 
+0

如果此頁面不是從您的SharePoint網站提供的同一個域中提供的,那麼這將不起作用。另外,你是否證實FBA配置正確;並且你有一個會員資格數據庫? – gn22

+0

會員資料庫已經建立,我已經看過。如果沒有從同一個域提供服務,爲什麼這不起作用?我在file://協議中運行這個文件,所以如果這是你指的是原始訪問策略不適用。我能夠調用Web服務,只是我一直在收到401 Unauthorized錯誤,並且無法對自己進行身份驗證,但如果我訪問服務器主頁,則可以使用FBA登錄自己,以便設置成員資格數據庫正確。任何解決方案?謝謝。讚賞。 –

回答

2

我有同樣的問題(401未經授權),我花了年齡意識到它的工作原理是,一旦你降級的jQuery版本的魅力。我現在使用jQuery 1.4.4。也許一些更高版本也有效,但我還沒有嘗試過。無論如何,1.4.4應該做的伎倆。祝你好運!

相關問題