Domanda

Sto affrontando alcuni problemi accessibili secondo la rivendicazione in base al mio servizio Web.

Sulla mia app c'è solo una richiesta basata: Windows Auth è disabilitato e anche NTLM. Se accedo a SharePoint per interfaccia basata sul Web, questo mi riconosce come Userx e tutto va.

Se accedo da ws ci sono 2 scenari:

    .
  • Chiamata da Forery (Account di sistema) -> Tutto va bene
  • Chiama da UserX (No SA ma SCADMIN) -> Riferimento dell'oggetto non impostato su un'istanza di un oggetto

    Il codice è molto semplice, ottiene solo il nome di accesso utente corrente:

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

    L'eccezione è sollevata quando provo a ottenere il currenter, che sembra essere nullo ..

È stato utile?

Soluzione

Sono tranquillo mistificato da come funziona con il locale, dovrebbe sempre fallire.

Quando si corre con rivendicazioni senza NTLM L'unico modo per passare le credenziali è attraverso un cookie di Fedauth con il token STS SHARL SHARSEPOINT.Per ottenere quel token devi chiamare le ST di SharePoint con un token Saml dal tuo IdentityProvider (ADFS?).Per ottenere quel token devi chiamare il fornitore di identità con informazioni di accesso.

Vedi Richiesta Proxy - Biblioteca AC # per chiamare i reclami Servizi Web protetti Connessione a SharePoint con autenticazione dei rivendicazioni o il blog principale su SharePoint con rivendicazioni Share-n -pity

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a sharepoint.stackexchange
scroll top