È ansible specificare credenziali proxy nel proprio web.config?

Devo configurare un sito Web per accedere a un servizio web su un’altra macchina, tramite un proxy. Posso configurare il sito Web per utilizzare un proxy, ma non riesco a trovare un modo per specificare le credenziali richieste dal proxy, è ansible? Ecco la mia configurazione attuale:

 <proxy usesystemdefault="true" proxyaddress="" bypassonlocal="true" />  

So che puoi farlo tramite codice, ma il software sul quale è in esecuzione il sito web è un CMS a codice chiuso, quindi non posso farlo.

C’è un modo per fare questo? MSDN non mi sta aiutando molto ..

Sì, è ansible specificare le proprie credenziali senza modificare il codice corrente. Però richiede una piccola parte di codice dalla tua parte.

Creare un assembly chiamato SomeAssembly.dll con questa class:

 namespace SomeNameSpace { public class MyProxy : IWebProxy { public ICredentials Credentials { get { return new NetworkCredential("user", "password"); } //or get { return new NetworkCredential("user", "password","domain"); } set { } } public Uri GetProxy(Uri destination) { return new Uri("http://my.proxy:8080"); } public bool IsBypassed(Uri host) { return false; } } } 

Aggiungi questo al tuo file di configurazione:

    

Questo “inietta” un nuovo proxy nell’elenco e poiché non ci sono credenziali predefinite, la class WebRequest chiamerà il tuo codice per primo e richiederà le tue credenziali. Sarà necessario posizionare l’assembly SomeAssembly nella directory bin dell’applicazione CMS.

Si tratta di un codice statico in qualche modo e per ottenere tutte le stringhe come utente, password e URL, potrebbe essere necessario implementare la propria ConfigurationSection o aggiungere alcune informazioni in AppSettings , che è molto più semplice.

Anche se non ho trovato un buon modo per specificare le credenziali della rete proxy nel web.config, potresti scoprire che puoi ancora usare una soluzione non codificante, includendola nel tuo web.config:

       

L’ingrediente chiave per ottenere questo risultato è modificare le impostazioni di IIS, assicurando che l’account che esegue il processo abbia accesso al server proxy. Se il processo è in esecuzione in LocalService o NetworkService, probabilmente non funzionerà. È probabile che tu voglia un account di dominio.

È ansible specificare le credenziali aggiungendo una nuova credenziale generica del server proxy in Gestione credenziali di Windows:

1 In Web.config

      
  1. In Credential Manager >> Aggiungi una credenziale generica

Indirizzo Internet o di rete: il tuo indirizzo proxy
Nome utente: il tuo nome utente
Password: tu passi

Questa configurazione ha funzionato per me, senza modificare il codice.

I servizi di directory / ricerche LDAP possono essere utilizzati per questo scopo. Comporta alcune modifiche a livello di infrastruttura, ma la maggior parte degli ambienti di produzione dispone di tale disposizione