Question

Je suis confronté à des problèmes d'accès par réclamation basée sur mon service Web.

sur mon application, il n'y a que la réclamation basée: Windows Auth est désactivé et NTLM également. Si j'accède à SharePoint par interface Web, cela me reconnaît comme userx et tout se passe.

Si j'accède par WS il y a 2 scénarios:

  • appeler par usisme (compte système) -> tout va bien
  • appelez par userx (no SA mais scadmin) -> Référence d'objet non définie sur une instance d'objet

    Le code est très simple, obtient uniquement le nom de la connexion de l'utilisateur actuel:

    using (SPSite sito = new SPSite("https://to0wss2k10rey03:50000/sites/Test1"))
                {
                    using (SPWeb web = sito.OpenWeb())
                    {
                        string Username =  web.CurrentUser.LoginName;
                    }
                }
    

    L'exception est soulevée lorsque j'essaie d'obtenir le courant actuel, ce qui semble être null ..

Était-ce utile?

La solution

Je suis silencieux mystifié par la façon dont il fonctionne avec de l'usure, il devrait toujours échouer.

Lorsque vous courez avec des réclamations sans NTLM, le seul moyen de passer des informations d'identification se fait via un cookie Feduuth avec votre jeton SharePoint STS SAML.Pour obtenir ce jeton, vous devez appeler les STS SharePoint avec un jeton SAML de votre IdentityProvider (ADFS?).Pour obtenir ce jeton, vous devez appeler le fournisseur d'identité avec des informations de connexion.

voir Revendications Proxy - AC # Bibliothèque pour appeler des demandes Web protégées Services Web Connexion à SharePoint avec authentification des revendications ou le blog principal sur SharePoint avec des revendications Share-N-DIPITY

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