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.