Obtendo o Perfil do Usuário Logado

O SharePoint possui um serviço de sincronização de perfil de usuários com o AD e pode ser extendido para sincronizar com outras fontes de informações e com novos campos. Este recurso é muito importante para qualquer projeto SharePoint.

Mas e o desenvolvedor, ela terá acesso a essas informações no C#?

A resposta é sim, o objeto UserProfileManager irá nos ajudar a obter tudo o que precisamos.

O primeiro passo é adicionar as referências abaixo:

  • C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\ISAPI\Microsoft.Office.Server.dll
  • C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\ISAPI\Microsoft.Office.Server.UserProfiles.dll
    Adicionar os usings na classe:

using Microsoft.SharePoint;
using Microsoft.Office.Server.UserProfiles;
using Microsoft.SharePoint.Administration;

    e usar o código abaixo:

// Obtém a contexto de serviços
SPServiceContext context = SPServiceContext.GetContext(SPServiceApplicationProxyGroup.Default, SPSiteSubscriptionIdentifier.Default);
// Obtém o serviço de gerenciamento de perfil de usuários
UserProfileManager upm = new UserProfileManager(context, false);
// Obtém o perfil do usuário logado
UserProfile up = upm.GetUserProfile(SPContext.Current.Web.CurrentUser.LoginName);

// Abaixo a leitura das propriedades foto, primeiro e último nome e departamento
string imageUrl = up["PictureUrl"].Value as string;
string nome = string.Format("{0} {1}", up["FirstName"].Value as string, up["LastName"].Value as string);
string departamento = up["Department"].Value as string;

 

Para obter outro usuário ao invés do usuáro logado, é só trocar a linha

// Obtém o perfil do usuário logado
UserProfile up = upm.GetUserProfile(SPContext.Current.Web.CurrentUser.LoginName);

por

UserProfile up = upm.GetUserProfile(@"dominio\logon");

Anúncios

4 Respostas to “Obtendo o Perfil do Usuário Logado”

  1. Raphael Almeida Says:

    Fabian, desenvolvemos um componente de notícia e criamos um sistema de comentários onde que utilizamos justamente essa tecnica para resgatar informações do usuário para registrar no sistema de comentários… ficou show de bola!!!

  2. larahvidotti Says:

    Ótima dica!


Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: