Saturday, November 7, 2009

Guida SharePoint – Object model per la gestione del profilo utenti

L’Object Model di SharePoint mette a disposizione un set di classi per accedere alle informazioni inerenti agli utenti.
Ottenere questi dati è semplicissimo.
Ecco come ciclare su tutti i profili e ottenere i dati di un profilo in particolare:
namespace UserProfilesApp
{
    using System;
    using System.Collections.Generic;
    using System.Text;
    using Microsoft.Office.Server;
    using Microsoft.Office.Server.Administration;
    using Microsoft.Office.Server.UserProfiles;
    using Microsoft.SharePoint;
    using System.Web;

    class Program
    {
        static void Main(string[] args)
        {
            using (SPSite site = new SPSite("http://mySite"))
            {
                ServerContext context = ServerContext.GetContext(site);
                UserProfileManager profileManager = new UserProfileManager(context);
                Console.WriteLine("I profili:");
                foreach (UserProfile p in profileManager)
                {
                    Console.WriteLine("{0} : {1}", p.ID, p.MultiloginAccounts[0]);
                }
                Console.WriteLine("—");
                string userName = @"mySite\Administrator";
                if (profileManager.UserExists(userName))
                {
                    UserProfile profile = profileManager.GetUserProfile(userName);
                    Console.WriteLine("Profilo Utente Trovato {0}", profile.ID);
                    Console.WriteLine("\tSito personale: {0} ({1})",
                    profile.PersonalSite.RootWeb.Title,
                    profile.PersonalSite.Url);
                }
                else
                {
                    Console.WriteLine("Account " + userName + " non trovato");
                }
                Console.ReadLine();
            }
        }
    }
}

Tramite la classe UserProfile e la classe UserProfilerManager possiamo avere accesso a varie informazioni del profilo; fate riferimento alle msdn per queste proprietà.
La modifica di informazioni riguardanti l’utente è ancora più semplice:
profile["E-Mail"] = "salvatore.difazio@live.com";
profile.Commit();

ciao

No comments:

Post a Comment