Разрешения SharePoint WebPart - PullRequest
       6

Разрешения SharePoint WebPart

0 голосов
/ 24 февраля 2009

Привет! Я использую пространство имен SharePoint для веб-части, и я сталкиваюсь с некоторыми ошибками разрешений при попытке использовать системную учетную запись. Есть ли способ использовать определенного пользователя вместо системной учетной записи?

Прямо сейчас у меня есть:

SPUserToken sysToken = SPContext.Current.Site.SystemAccount.UserToken;
using (SPSite site = new SPSite(_SPSite, sysToken))

Я хочу иметь возможность использовать учетную запись в домене вместо системной учетной записи, спасибо за любой совет.

Ответы [ 3 ]

2 голосов
/ 25 февраля 2009

Возможно, вам потребуется использовать RunWithElevatedPermissions для получения доступа к системной учетной записи для работы, как показано в следующем сообщении в блоге:

http://solutionizing.net/2009/01/06/elegant-spsite-elevation/

1 голос
/ 25 февраля 2009

Что вы пытаетесь сделать? Если вы не используете токен, сеть будет открыта с теми же правами, что и у текущего пользователя

/* runs as user requesting the web part */
SPSite site = SPContext.Current.Web.site 

или вы можете обернуть его в RunWithElevatedPrivileges делегат

/* runs with admin privileges */         
SPSecurity.RunWithElevatedPrivileges(
   delegate()
   {
      using (SPSite site = new SPSite(SPContext.Current.Web.Site.Url))
      {
        //do stuff
      }
   }
);
1 голос
/ 24 февраля 2009

Вы можете использовать SPUserCollection

SPContext.Current.Site.RootWeb.AllUsers

, чтобы получить всех пользователей на сайте и получить оттуда SPUser. Когда у вас есть SPUser, вы можете получить UserToken.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...