Autenticação no Sharepoint 2013 usando C # [cliente CSOM]


A autenticação do SharePoint em c # é direta como qualquer outra autenticação de serviço,
o código a seguir mostra o nome de usuário simples e a senha criptografada resolverá o problema. Estes são os parâmetros que tenho,

  1. URL do site – URL completo absoluto
  2. nome de usuário – nome de usuário do administrador [Obviuosly]
  3. senha – Obviuosly

A maneira como estou usando o método como um validador para outros métodos e é mais como um método inicial de kick [Bootstrap]. Vamos dividir o código,

  1. ClientContext – que contém todas as informações do locatário / domínio
  2. Web – retém os detalhes do site solicitados do locatário
  3. SecureString – retém criptografar a senha simples para a autenticação do servidor
  4. SharePointOnlineCredentials – é um serviço de autenticação

Como a chamada de serviço é assíncrona, estamos rastreando por contexto.ExecuteQuery, se seu usuário autenticado próximo ao código for executado, caso contrário, será lançada a Exceção que trataremos no catch.

public ClientContext Auth(String uname, String pwd,string siteURL) {
ClientContext context = new ClientContext(siteURL);
Web web = context.Web;
SecureString passWord = new SecureString();
foreach (char c in pwd.ToCharArray()) passWord.AppendChar(c);
context
.Credentials = new SharePointOnlineCredentials(username, passWord);
try
{
context
.Load(web);
context
.ExecuteQuery();
Console.WriteLine("Olla! from " + web.Title + " site");
return context;
}
catch (Exception e) {
Console.WriteLine("Something went wrong in Auth Module" + e);
Console.ReadKey();
return null;
}
}

Assim, à medida que retornamos o contexto, posso passar o contexto para outras funções utilizarem.