SfondoAutenticazione ASP.NET web app con servizio WCF
Ho un'applicazione web ASP.NET che interagisce con i servizi WCF. L'applicazione web e i servizi WCF sono sotto il mio controllo. L'applicazione Web ASP.NET utilizza un'implementazione personalizzata del modello di provider di appartenenze ASP.NET (con password memorizzate in formato hash) per autenticare gli utenti che accedono all'applicazione Web. Sia l'applicazione Web ASP.NET che i servizi WCF hanno accesso allo stesso database di appartenenza.
Poiché gli utenti forniranno la propria password solo una volta e non voglio dover memorizzare le loro password ovunque o infastidirli ripetutamente chiedendo loro di fornire la loro password, ho bisogno di un meccanismo appropriato per autenticare gli utenti con Servizi WCF.
Sulla base di altre domande e risposte che ho visto, sto considerando una sorta di approccio "sessione di accesso", in cui verrà creata una sessione di accesso nel database di appartenenza personalizzato quando l'utente accede inizialmente all'applicazione Web, con la sessione di accesso identificata da un GUID e scaduta automaticamente dopo un periodo di inattività. Il GUID della sessione di accesso verrà "ricordato" dall'applicazione Web per ciascun utente connesso (memorizzato nel ticket di autenticazione dei moduli o nella sessione).
Il servizio WCF fornirà anche la propria operazione di accesso accettando un nome utente e una password e restituendo un GUID della sessione di accesso come descritto sopra.
Il servizio WCF sarebbe quindi accettare il GUID sessione di login per tutte le altre operazioni, e verificare che il GUID rappresenta una sessione di accesso valido che non è scaduto prima di consentire l'operazione di procedere.
ho fatto un po 'di valori di fondo su questo, e c'è un sacco di materiale sull'uso diretto di tipo credenziali del client UserName, ma ciò richiederebbe l'applicazione web per ricordare la password dell'utente, che non lo fa mi sembra una grande idea.
Ho fatto qualche ricerca e ho trovato materiale su MSDN, ma questo sembra un grande sforzo per implementare quello che (almeno per me) sembra uno scenario di utilizzo piuttosto comune.
Domanda
è l'impostazione generale della "sessione di login" descritto sopra ragionevole?
Se sì, qual è il modo migliore per raggiungerlo?
In caso contrario, puoi suggerire un'alternativa?
è il vostro servizio WCF accessibile da solo rete interna? In tal caso, non vedo la necessità di autenticare nuovamente le richieste. –
Ci scusiamo per l'omissione - il servizio WCF sarà disponibile su Internet. –