Веб-часть: Олицетворение / RunWithElevatedPrivileges - PullRequest
0 голосов
/ 09 августа 2010

Я использую MOSS 07 и VisualStudio 07 (c #) на WindowsServer2003

Моя проблема в том, что я хочу получить доступ от одной Sharepoint к другой. В SharePoint_1 есть SPList, который я хочу прочитать из SharePoint_2.

Результаты моего исследования: IMPERSONATION и RUN_WITH_ELEVATED_PRIVILEGES. С олицетворением я могу прочитать html-код SPSite, с которым я связан, но как я могу получить список, который мне нужен? Когда я пытаюсь запустить RunWithElevatedPrivileges, мне нужно взять пользователя с сайта SharePoint_1. Но я не могу получить пользователя (даже если я получил его имя) из-за исключения FileNotFoundException.

Как мне решить проблему?

Спасибо

Я кое-что забыл сказать. В списке есть вложения, и мне тоже нужен к ним доступ.

Как лучше всего решить эту проблему? Надеюсь, это не очень сложно, потому что я использовал Sharepoint 5 недель назад в первый раз и не чувствую себя очень хорошо знакомым с ним :)

Спасибо

1 Ответ

0 голосов
/ 09 августа 2010

Вам не нужно указывать пользователя при использовании SPSecurity.RunWithElevatedPrivileges. Я думаю, что вы будете в порядке, если вы используете:

[url] = URL-адрес другого семейства сайтов

SPSecurity.RunWithElevatedPrivileges(() => {
    using (var site = new SPSite("[url]")) {
        using (var web = site.OpenWeb()) {
            // Access list here
        }
        site.RootWeb.Dispose();
    }
});
...