Chiama il metodo Web dell'interfaccia Project Server da un programma di installazione MSI
-
09-06-2019 - |
Domanda
Sto utilizzando un progetto di installazione Web di Visual Studio per installare un'applicazione che estende le funzionalità di Project Server.Voglio chiamare un metodo dalla PSI (Project Server Interface) da una delle azioni personalizzate del mio progetto di installazione, ma ogni volta ricevo un errore "401 Accesso non autorizzato".Cosa devo fare per poter accedere al PSI?Lo stesso codice, se utilizzato da un'applicazione console, funziona senza problemi.
Soluzione
Sembra che nella situazione della console stai utilizzando le credenziali dell'utente corrente, che hanno accesso al PSI.Quando viene eseguito dal Web, viene eseguito con i crediti dell'istanza dell'applicazione IIS.Penso che dovresti impostare la delega per passare i crediti di sessione all'applicazione IIS o utilizzare alcuni crediti statici per la tua app IIS che hanno accesso al PSI.
Altri suggerimenti
Finalmente ho trovato la risposta.È possibile chiamare il servizio LoginWindows PSI e impostare le credenziali su NetworkCredentials utilizzando l'utente, la password e i token di dominio appropriati.Quindi puoi chiamare qualsiasi metodo PSI, purché le credenziali siano esplicite.In caso contrario, utilizzando DefaultCredentials riceverai un errore di accesso non autorizzato, perché un messaggio MSI viene eseguito con l'account di sistema locale.