Активация пользовательской функции с использованием FBA в sharepoint - PullRequest
1 голос
/ 02 ноября 2010

Я создал функцию с получателем пользовательских функций для сайта в sharepoint, используя аутентификацию на основе форм.

Однако всякий раз, когда я пытаюсь активировать эту функцию (даже если учетная запись на основе форм имеет высшие привилегии), я получаю 403 - «Требуется, чтобы вы вошли в систему».

Я могу просто активировать и деактивировать другие функции, но не мои собственные. Есть ли специальный прием для создания функций с помощью приемника функций, позволяющий мне это сделать?

Спасибо

1 Ответ

1 голос
/ 03 ноября 2010

Видимо, полная админ-олицетворение и RunWithElevatedPrivileges сделали свое дело.

Вот код для всех, кто интересуется (идет в методах FeatureActivation / -Deactivation):

SPSecurity.RunWithElevatedPrivileges(delegate() {
    SPWeb _web = properties.Feature.Parent as SPWeb; 
    SPUserToken sysAdmin = _web.Site.SystemAccount.UserToken;
    using (SPSite elevatedSite = new SPSite(_web.Site.ID, sysAdmin)) {
        using (SPWeb web = elevatedSite.OpenWeb(_web.ID)) {
            //Code goes here...
        }
    }
});
...