Compartilhar via


UserProfileManager class

Representa uma coleção de objetos UserProfile que são usadas para acessar os dados de perfil de usuário. Para acessar um perfil de usuário específico, ligue para a classe UserProfileManager para criar um objeto de UserProfile e, em seguida, recuperar os dados correspondentes do banco de dados de perfil de usuário.

Inheritance hierarchy

System.Object
  Microsoft.Office.Server.UserProfiles.ProfileManagerBase
    Microsoft.Office.Server.UserProfiles.UserProfileManager

Namespace:  Microsoft.Office.Server.UserProfiles
Assembly:  Microsoft.Office.Server.UserProfiles (in Microsoft.Office.Server.UserProfiles.dll)

Syntax

'Declaração
<SharePointPermissionAttribute(SecurityAction.Demand, ObjectModel := True)> _
<SharePointPermissionAttribute(SecurityAction.InheritanceDemand, ObjectModel := True)> _
Public Class UserProfileManager _
    Inherits ProfileManagerBase
'Uso
Dim instance As UserProfileManager
[SharePointPermissionAttribute(SecurityAction.Demand, ObjectModel = true)]
[SharePointPermissionAttribute(SecurityAction.InheritanceDemand, ObjectModel = true)]
public class UserProfileManager : ProfileManagerBase

Comentários

Você deve criar o objeto UserProfileManager antes de acessar um objeto UserProfile . Em seguida, você pode recuperar os perfis de usuário que o usuário pode acessar. Acesso total a do todos perfil de usuário requer direitos de "Gerenciar perfis de usuário". Acesso total ao seu próprio perfil requer direitos de "Usar recursos pessoais". Todos têm acesso de leitura a todos os perfis.

Você deve usar o objeto de classe UserProfileConfigManager em vez do objeto UserProfileManager para gerenciar metadados. O acesso a metadados fornecidos pelo objeto UserProfileManager deve ser somente leitura. Somente os usuários que estão listados na ACL de permissões de aplicativo de serviço de perfil de usuário podem criar uma instância de um objeto UserProfileManager .

Examples

O exemplo de código a seguir usa a classe UserProfileManager .

[Visual Basic]

      Public Sub UserProfileSample()
         'get current service context
         Dim strUrl As String = "http://SampleName"
         Dim site as SPSite = new SPSite(strUrl)
         Dim serviceContext As SPServiceContext = SPServiceContext.GetContext(site)

         'initialize user profile config manager object
         Dim upm As New UserProfileManager(serviceContext)
         'create user sample
         Dim sAccount As String = "mydomain\myalias"
         If Not upm.UserExists(sAccount) Then
            upm.CreateUserProfile(sAccount)
         End If
         'to set prop values on user profile
         Dim u As UserProfile = upm.GetUserProfile(sAccount)
         Dim sPropName As String = "PreferredName"
         u(sPropName) = sAccount
         u.Commit()

         'remove user profile sample
         upm.RemoveUserProfile(sAccount)
      End Sub 'UserProfileSample


      Public Sub CreatePersonalSiteSample()
         'get current service context
         Dim serviceContext As SPServiceContext = SPServiceContext.Current

         'initialize user profile config manager object
         Dim upm As New UserProfileManager(serviceContext)
         Dim sAccount As String = "mydomain\myalias"
         Dim u As UserProfile = upm.GetUserProfile(sAccount)
         u.CreatePersonalSite()
         Dim mysite As SPSite = u.PersonalSite
         Dim myurl As String = u.PersonalUrl
      End Sub 'CreatePersonalSiteSample

[C#]

public void UserProfileSample()
{
//get current service context
strUrl = "http://SampleName";
SPSite site = new SPSite(strUrl);
SPServiceContext serviceContext = SPServiceContext.GetContext(site);

//initialize user profile config manager object
UserProfileManager upm = new UserProfileManager(serviceContext);
//create user sample
string sAccount = "mydomain\\myalias";
if (!upm.UserExists(sAccount))
upm.CreateUserProfile(sAccount);

//to set prop values on user profile
UserProfile u = upm.GetUserProfile(sAccount);
string sPropName = "PreferredName";
u[sPropName] = sAccount;
u.Commit();

//remove user profile sample
upm.RemoveUserProfile(sAccount);
}

public void CreatePersonalSiteSample()
{
//get current service context
SPServiceContext serviceContext = SPServiceContext.Current;

//initialize user profile config manager object
UserProfileManager upm = new UserProfileManager(serviceContext);
string sAccount = "mydomain\\myalias";
UserProfile u = upm.GetUserProfile(sAccount);
u.CreatePersonalSite();
SPSite mysite = u.PersonalSite;
string myurl = u.PersonalUrl;
}

Thread safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Ver também

Referência

UserProfileManager members

Microsoft.Office.Server.UserProfiles namespace