使用Windows窗体进行远程/主动/基于声明的身份验证到C#中的内部MS SharePoint 2013网站

时间:2014-04-16 00:09:07

标签: c# winforms sharepoint-2013

如何在C#中使用Windows窗体对远程/主动/基于声明的内部部署MS SharePoint 2013网站进行身份验证?请注意我是SharePoint 2013 App Dev的新手,所以我要感谢有关如何完成此任务的简单明了的步骤。

此致

这是另一次尝试,但没有运气

  private void btnLogin_Click(object sender, EventArgs e)
    {

        try
        {

            string webUrl = textBox1.Text;


            string userName = txtBxUN.Text;

            string password = txtBxPW.Text;
            using (var context = new ClientContext(webUrl))
            {
                var secure = new SecureString();
                foreach (char c in password)
                {
                    secure.AppendChar(c);
                }
                // get error the 'username' argument is invalid when i try to login to on-premises SharePoint 2013 website 
                context.Credentials = new SharePointOnlineCredentials(userName, secure);
                context.Load(context.Web, w => w.Title);
                context.ExecuteQuery();

                MessageBox.Show("Your site title is: " + context.Web.Title);
            }
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.Message);

        }
    }

1 个答案:

答案 0 :(得分:0)

这个问题的解决方案本质上是多层次的。

  1. 在SharePoint

  2. 中创建了对目标文档库的服务引用
  3. 创建服务实例并使用Windows Active Directory作为凭据

  4. 使用客户端对象模型发挥其神奇作用。

  5. 完成!

     var dc = new subsiteDataContext(new Uri("http://.../subsite/_vti_bin/ListData.svc"))
                {
                    Credentials = System.Net.CredentialCache.DefaultCredentials
                };
    

    在此处插入您的CSOM代码。