Quali sono le strategie per implementare il single sign-on nelle applicazioni Web?Come implementare il single sign-on per le applicazioni Web?
risposta
Hai aggiunto j2ee come tag, quindi assumerò che questa è una domanda java. È possibile implementare il single sign-on nel codice tramite ... beh ... scrivendo il codice. Usa l'autenticazione j2ee integrata o fai il rollover.
Vedere questa risposta per le possibilità: Single sign-on in Java EE
La strategia di base è di inventare una sorta di strategia di biscotto condiviso che tutti i siti web in grado di leggere. Ad esempio, se si sta sviluppando una soluzione di single sign-on per xyz.company.com e abc.company.com, quindi fornire un cookie di sessione di qualche tipo con un percorso di company.com. Entrambi i siti possono accedere a questa sessione e vedere "Oh questo ragazzo ha effettuato l'accesso prima".
Esistono anche strategie per il Web Single Sign On quando si autenticano gli utenti in siti completamente distinti come MySiteA.com e MySiteB.com.
Per impedire attacchi di replay, è necessario trasportare un archivio di sessione comune di qualche tipo che le pagine Web possano convalidare questo cookie con ogni richiesta di pagina. Non hai taggato questo .NET, ma in .NET questo significa che devi spostare lo stato della sessione dal processo di lavoro di IIS, che non è quello predefinito quando selezioni File> Nuovo progetto ... per le applicazioni web.
L'applicazione dovrà proteggere tutte le richieste Web in entrata perché ora si ritiene che questo cookie sia un "ticket" o una "prova di accesso". Avrai bisogno di una strategia per rimuovere l'autorizzazione da quel cookie (al logout o timeout o altro).
La maggior parte dei framework Web, inclusi J2EE, .NET o server di applicazioni come WebSphere, dispone di soluzioni per questo. Dovrai fare delle ricerche e acquisire familiarità con le tecniche di cui hai bisogno.
È inoltre possibile acquistare software di accesso di terze parti come CA Siteminder. In questo caso, non si scrive alcuna autenticazione e codice di accesso e si lascia che i propri agenti Web stiano di guardia davanti alla propria app. Hanno anche soluzioni single sign-on per più siti Web che possono o meno condividere un dominio di livello superiore comune.
Non sto raccomandando esplicitamente questo prodotto. Sto dicendo che hai fatto una domanda molto grande e che puoi usare java per risolvere il tuo problema o acquistare prodotti di terze parti che cercano di fare lo stesso.
Questo è un argomento ENORME che NON ho tentato di trattare in dettaglio. Questa non è una risposta sufficiente. Il punto è che dovrai selezionare più parti della tua architettura prima di poter ottenere assistenza e guida più specifiche.