2010-08-09 17 views
0

Je MOSS 07 & utiliserai VisualStudio 07 (C#) sur un WindowsServer2003Webpart: Usurpation/RunWithElevatedPrivileges

Mon problème est que je veux avoir accès d'un à l'autre Sharepoint. Dans SharePoint_1 est un SPList que je veux lire à partir de SharePoint_2.

Les résultats de mes recherches sont IMPERSONATION et RUN_WITH_ELEVATED_PRIVILEGES. Avec l'usurpation d'identité, je peux lire le code html du SPSite auquel je suis connecté, mais comment puis-je obtenir la liste que je veux? Lorsque j'essaie de RunWithElevatedPrivileges, je dois prendre un utilisateur du site SharePoint_1. Mais je ne peux pas obtenir l'utilisateur (même si j'ai obtenu son nom) à cause d'une exception FileNotFoundException.

Comment puis-je résoudre le problème?

Merci

Il y a quelque chose que j'oublié de dire. Dans la liste sont des pièces jointes et j'ai besoin d'y accéder aussi.

Quelle serait la meilleure façon de résoudre ce problème? Espérons que ce ne est pas très difficile, parce que je Sharepoint il y a 5 semaines la première fois et donc ne me sens très familier avec elle :)

Merci

+0

Est-ce que deux SPSites sur le même serveur? Avez-vous un administrateur différent pour chacun? Pouvez-vous montrer du code? – Kobi

Répondre

0

Vous ne avez pas besoin de spécifier un utilisateur lors de l'utilisation SPSecurity.RunWithElevatedPrivileges. Je pense que vous serez ok si vous utilisez:

[url] = url à l'autre collection de sites

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