2014-09-30 4 views
0

У меня есть код из учебника, код работает на WCF сервис под ДОМЕН \ AppPoolAccountC# Sharepoint Получить текущего пользователя под код работает ведьма

Но код, за исключением того, что доступ запрещен, как детерминированный пользователь?

using (SPSite site = new SPSite("http://portal.local")) 
      { 
       SPServiceContext serviceContext = SPServiceContext.GetContext(site); 


       UserProfileManager userProfileMgr = new UserProfileManager(serviceContext); 
       ProfilePropertyManager profilePropMgr = new UserProfileConfigManager(serviceContext).ProfilePropertyManager; 

       // Retrieve all properties for the "UserProfile" profile subtype, 
       // and retrieve the property values for a specific user. 
       ProfileSubtypePropertyManager subtypePropMgr = profilePropMgr.GetProfileSubtypeProperties("UserProfile"); 
       UserProfile userProfile = userProfileMgr.GetUserProfile(accountName); 
       IEnumerator<ProfileSubtypeProperty> userProfileSubtypeProperties = subtypePropMgr.GetEnumerator(); 
       while (userProfileSubtypeProperties.MoveNext()) 
       { 
        string propName = userProfileSubtypeProperties.Current.Name; 
        ProfileValueCollectionBase values = userProfile.GetProfileValueCollection(propName); 
        if (values.Count > 0) 
        { 

         // Handle multivalue properties. 
         foreach (var value in values) 
         { 
          Console.WriteLine(propName + ": " + value.ToString()); 
         } 
        } 
        else 
        { 
         Console.WriteLine(propName + ": "); 
        } 
       } 
       Console.WriteLine("Press Enter to change the values."); 
       Console.Read(); 

       // Change the value of a single-value user property. 
       userProfile[PropertyConstants.Department].Value = "SDDDD"; 
       userProfile.Commit(); 


      } 

Как определенному пользователю?

ответ

0

Использование SPWeb.CurrentUser property для определения текущего пользователя:

using (var site = new SPSite(siteUrl)) 
{ 
    using (var web = site.OpenWeb()) 
    { 
     var currentUser = web.CurrentUser; 
     //.. 

    } 
} 
+0

CurrentUser является нулевой ее среднее Anonymous? – Actimele

Смежные вопросы