2
我想公開一個webmethod,它將接受用戶名和密碼並登錄用戶。我將如何以編程方式採用這些參數並將用戶登錄到該站點,以便在web方法完成後,頁面重新加載並且用戶現在「登錄」。我想避免使用Login asp控件,因爲我想通過ajax調用將這些參數發送到webmethod並讓它以這種方式登錄用戶。如何以編程方式登錄共享點
我想公開一個webmethod,它將接受用戶名和密碼並登錄用戶。我將如何以編程方式採用這些參數並將用戶登錄到該站點,以便在web方法完成後,頁面重新加載並且用戶現在「登錄」。我想避免使用Login asp控件,因爲我想通過ajax調用將這些參數發送到webmethod並讓它以這種方式登錄用戶。如何以編程方式登錄共享點
我用Windows窗體應用這種方法,它工作得很好:
注意spUsername和spPassword是你有這個代碼提供者:
private bool loginSharePoint()
{
lbLoginStatus.Text = "Logging in Sharepoint server";
bool isValid = false;
//validating Sharepoint login
string spUsername = tbSharePointUsername.Text;
string spPassword = tbSharePointPassword.Text;
pc = new PrincipalContext(ContextType.Domain, spUsername.Split('\\')[0]);
pbLogin.PerformStep();
// validate the credentials
isValid = pc.ValidateCredentials(spUsername.Split('\\')[1], spPassword);
if (isValid)
{
pbLogin.PerformStep();
pbLogin.PerformStep();
site = new SPSite(tbSharePointUrl.Text);
pbLogin.PerformStep();
web = site.OpenWeb();
pbLogin.PerformStep();
if (web.DoesUserHavePermissions(spUsername, SPBasePermissions.Open))
isValid = true;
else
isValid = false;
}
return isValid;
}
如果你能描述一些你的代碼會更好。 – Cornelius
將您的Web服務託管在SharePoint的上下文中? –
是的,它將被託管在sharepoint的上下文中 – anthonypliu
你的方法與['Authentication.Login'](http://msdn.microsoft.com/en-us/library/authentication.authentication.login.aspx)有什麼不同? –