Autorisation uniquement Obtenir des informations de liste à partir du site d'administration au site utilisateur SharePoint 2010

sharepoint.stackexchange https://sharepoint.stackexchange.com//questions/64727

Question

J'ai découvert un problème pendant que je testais mes webparts ce matin. Dans mon projet, j'ai un site d'administration et un site utilisateur. Le site utilisateur est censé être indiqué uniquement par les utilisateurs. Il contient un menu WebPART avec des boîtes Dropbox avec des informations à partir des listes de sites d'administration.

Le WebPart et les listes fonctionnent pleinement lorsque je suis connecté à tous les administrateurs. Mais lorsque je me connecte à mes membres qui ne peuvent pas voir le site d'administrateur, les éléments Dropdowbox ne sont pas affichés.

J'ai essayé de changer les autorisations pour les membres des membres. Je leur ai donné le niveau d'accès limité sur le site d'administration afin qu'ils ne puissent pas voir le site mais cela n'a pas fonctionné. J'ai également essayé d'arrêter d'hériter des listes de la liste sur le site d'administration et de donner aux membres des autorisations d'accès limitées sur les listes. Cela n'a pas résolu mon problème non plus.

Y a-t-il de meilleurs moyens de résoudre ce genre de problèmes? CODEWAY peut-être? J'ai besoin de lire sur le site d'administration aux utilisateurs sans le site d'administration est montré.

J'utilise également les définitions de liste pour créer mes listes personnalisées sur le site d'administration. Y a-t-il peut-être une sorte d'autorisation que je dois ajouter à ce code?

reconnaissant pour toute votre aide!

meilleures salutations, BLENNI

Était-ce utile?

La solution

you can try to impersonate system user when get information from lists and use this user when open a site. To impersonate user do following:

SPUserToken sysToken = null;
SPSecurity.RunWithElevatedPrivileges(delegate()
{
   using (SPSite site = new SPSite(SPContext.Current.Site.ID))
   {
      sysToken = site.SystemAccount.UserToken;
   }
});

Once you have your system user account you can open site using this user.

if (sysToken == null)
   SPUtility.TransferToErrorPage("Cannot evaluate user");

using (SPSite site = new SPSite(SPContext.Current.Site.ID, sysToken))
{
   // Get your drop down items here
}

Be sure to pass a good site URL when open site.

When site is opened in this way you will be logged as System account while site object exists. Once using is finished object is released and you stay on the page as anonymous.

Hope it helps,

Andrew

Licencié sous: CC-BY-SA avec attribution
Non affilié à sharepoint.stackexchange
scroll top