2009-09-02 12 views
5

Il client richiede alle principali applicazioni di fornire agli utenti funzionalità di autenticazione "Single Sign On" in base alla soluzione aziendale (Active Directory). Ciò significa che l'applicazione aziendale si fida delle credenziali fornite dal browser e non richiede all'utente di fornire una coppia di accesso/password standard. Il trust server/browser è basato sul meccanismo di autenticazione integrata di Windows.Accesso singolo con applicazione Web ASP.Net

La nostra è un'applicazione Web ASP.Net su dot net framework 2.0 ospitata su IIS 5. Abbiamo bisogno di implementare la funzionalità SSO. Come facciamo?

risposta

4

Sono abbastanza sicuro che questo è lo stesso che seguono quasi tutte le app intranet.

Se hai appena abilitato l'accesso integrato di Windows in IIS, ti verrà impostato per l'elemento n.

Non so se il numero 2 sia possibile, perché è in conflitto con l'altro requisito. Il browser trasmette solo le credenziali dell'utente connesso localmente (come richiesto dal # 1). Se hai creato un modulo Web per l'autenticazione tramite AD, ti violerebbe i requisiti elencati nel tuo commento/paragrafo.

Cosa pensano davvero i # 2 i vostri clienti? Cosa vogliono qui? Un modo per accedere come utente diverso? Possono semplicemente disconnettersi dal computer e accedere come l'altro utente.

1

In generale, i requisiti SSO sono meglio indirizzati dai protocolli basati su attestazioni quali WS-Federation o SAML 2.0. In linea di principio, è possibile implementare questi protocolli da soli poiché sono standard aperti, ma richiede molte conoscenze specialistiche.

Il nuovo Windows Identity Foundation (precedentemente noto come framework Geneva) contiene implementazioni di protocollo che possono abilitare gli scenari SSO, anche se richiederà l'aggiornamento della piattaforma.

1

Utilizzare invece Custom Forms Auth che non chiederà all'utente di inserire ID e password.

Prerequisiti: 1> tabella del database con i dettagli dell'utente come e-mail, ruolo ecc 2> Elenco imprese attivo dove i profili utente vengono archiviati 3> Scrivi una VBCOM o ActiveX o di altri componenti in grado di leggere dominio e il nome dell'utente da la macchina Windows tramite il browser.

Passaggi: Sul pageload per tutti i moduli chiamare il componente < 3> per connettersi a Active Directory < 2>. Questo metodo dovrebbe leggere il nome dell'utente corrente, il dominio dal sistema Windows. Cerca annuncio con questi dettagli. Se esiste, interrogare ed estrarre l'indirizzo e-mail o qualunque sia la chiave univoca nel profilo utente di AD. Utilizzando questa chiave, interrogare il database < 1> in cui sono stati archiviati i dettagli utente specifici dell'applicazione come e-mail, ruoli. Se l'e-mail utente da AD corrisponde a e-mail in Tabella, concedere all'utente diritti appropriati altrimenti negare l'accesso se l'utente non esiste o il ruolo è nullo/limitato. Se un utente valido crea un cookie crittografato e può essere letto da altre applicazioni per implementare realmente qualsiasi tipo di SSO.

Problemi correlati