UserProfileManager - Classe

Représente une collection d'objets UserProfile qui servent à accéder aux données de profil utilisateur. Pour accéder à un profil utilisateur spécifique, appelez la classe UserProfileManager pour créer un objet UserProfile et récupérer les données correspondantes à partir de la base de données de profil utilisateur.

Hiérarchie d’héritage

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

Espace de noms :  Microsoft.Office.Server.UserProfiles
Assembly :  Microsoft.Office.Server.UserProfiles (dans Microsoft.Office.Server.UserProfiles.dll)

Syntaxe

'Déclaration
<SharePointPermissionAttribute(SecurityAction.Demand, ObjectModel := True)> _
<SharePointPermissionAttribute(SecurityAction.InheritanceDemand, ObjectModel := True)> _
Public Class UserProfileManager _
    Inherits ProfileManagerBase
'Utilisation
Dim instance As UserProfileManager
[SharePointPermissionAttribute(SecurityAction.Demand, ObjectModel = true)]
[SharePointPermissionAttribute(SecurityAction.InheritanceDemand, ObjectModel = true)]
public class UserProfileManager : ProfileManagerBase

Remarques

Vous devez créer l'objet UserProfileManager avant d'accéder à un objet UserProfile . Vous pouvez ensuite récupérer les profils d'utilisateur que l'utilisateur peut accéder. Un accès complet au profil d'utilisateur de tout le monde nécessite des droits « Gérer les profils utilisateur ». Accès total à votre propre profil nécessite des droits de « Utiliser des fonctionnalités personnelles ». Tout le monde dispose d'un accès en lecture à tous les profils.

Vous devez utiliser l'objet de classe UserProfileConfigManager au lieu de l'objet UserProfileManager pour gérer les métadonnées. L'accès aux métadonnées qui fournit l'objet UserProfileManager est destinée à être en lecture seule. Seuls les utilisateurs qui figurent dans la liste des autorisations ACL de l'Application de Service de profil utilisateur peuvent créer une instance d'un objet UserProfileManager .

Exemples

L'exemple de code suivant utilise la 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;
}

Cohérence de thread

Tous les membres statique (Partagé dans Visual Basic)s publics de ce type sont thread-safe. Cela n’est pas garanti pour les membres d’instance.

Voir aussi

Référence

UserProfileManager - Membres

Microsoft.Office.Server.UserProfiles - Espace de noms