如何以编程方式登录sharepoint

本文关键字:登录 sharepoint 方式 编程 | 更新日期: 2023-09-27 18:15:47

我想公开一个webmethod,它将接受用户名和密码并登录用户。我该如何以编程的方式获取这些参数并将用户登录到站点,以便在webmethod完成后,页面重新加载,用户现在"登录"。我想避免使用登录asp控件,因为我想发送这些参数在一个ajax调用webmethod,并有它以这种方式记录用户。

如何以编程方式登录sharepoint

我在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;
    }