Question

Toute suggestion serait utile ...

Je suis attestant d'accéder à une liste externe à l'aide du serveur OM. La liste externe est configurée pour utiliser passer des informations d'identification. La liste fonctionne parfaitement dans l'interface utilisateur SharePoint.

Lorsque j'exécute ce code dans une application de console:

            using (SPSite site = new SPSite("http://DOM-dev.DOM.net/sites/plm"))
            {
                SPServiceContext context = SPServiceContext.GetContext(site);
                SPServiceContextScope contextScope = new SPServiceContextScope(context);

                using (SPWeb web = site.RootWeb)
                {


                    SPList list = web.Lists["Industries"];
                    Console.WriteLine(list.Title);
                    SPListItemCollection items = list.GetItems();
                    foreach (SPListItem item in items)
                    {
                        Console.WriteLine(item["Industry"].ToString());
                    }

                }
            }

Je reçois cette erreur:

System.UnauthorizedAccessException a été non géré le message= Tentative effectuer une opération non autorisée. Source= Microsoft.SharePoint de
Trace de la pile: chez Microsoft.SharePoint.splistDataSource.CheckuerisaThoriorisé (Spbasepermissions Perms) chez Microsoft.SharePoint.splistDataSource.getFilteredentityInstances (xmldocument xdqueryview, boolean fformatdates, fantolocal booléen, chaîne Firstrowid, Boolean FackwardPaging, String & BDCidfirstrow, String & BDCIDNEXTPAGEROW, Liste1& lstColumnNames, Dictionary2 & DictColumnsUtilisé, Liste1& mapRowOrdering, List1 & LstentityData) chez Microsoft.SharePoint.splistitemCollection.ensurentitydataviewAndordering (String & BDCIDFIRSTROW, STRING & BDCIDNEXTPAGEFIRLSStrow) chez Microsoft.SharePoint.splistitemCollection.ensurelistitemsData () chez Microsoft.SharePoint.splistitemCollection.get_Count () chez Microsoft.SharePoint.SPentityInstanceNumerator.System.collections.Ienumerator.movenext () Au testexternallist.program.main (String [] args) en C: \ Utilisateurs \ RKACHE \ Desktop \ It \ Testexternallist \ Testexternallist \ Program.cs: Ligne 28 au système.appdomain._nexecudeasbly (assemblage de montage, chaîne [] args) chez Microsoft.Visualstudio.hostingProcess.hostingproc.RunUSSAuclebly () à System.threading.executionContext.run (exécutionContext ExecutionContext, rappel contextCallback, État d'objet) à System.threading.threadhelper.threadstart () InnereException:

Était-ce utile?

La solution 2

Dmitry Kaloshin de LightningTools dont l'équipe, Phill Duffy, créé BCS Tester Man , m'a aidé à obtenir ce Droite.

Comme je soupçonnais que le problème consistait à tenter d'utiliser une authentification réussie sur la source de données BCS. J'avais tenté d'utiliser l'application Secure Store pour l'impersonnation, mais j'avais des problèmes avec cela parce que je l'avais défini à une personne plutôt que du groupe. Une fois que j'ai examiné Ce blog post comme suggéré par Dmitry Kaloshin et a vu que l'auteur l'avait défini sur "Groupe" J'ai supprimé toutes mes listes, mes paramètres pour la SSA. et commencé à partir de zéro. Après avoir recréé tous les paramètres de la liste SSA, ECTS et externe, tout fonctionnait comme un charme.

Ce n'était pas une solution idéale pour moi, cependant. Je ne voulais vraiment pas faire face au fait que chaque utilisateur interagit maintenant avec la base de données en tant qu'utilisateur de magasin sécurisé. Mais je suppose que c'est la vie.

Autres conseils

C'est probablement le numéro de double hop ...

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