Attraverso l'acquisizione abbiamo un numero di prodotti che richiedono l'autenticazione e l'autorizzazione. I prodotti includono siti Web e applicazioni lato client, le applicazioni lato client utilizzano alcuni servizi Web. Siamo un negozio .Net ei server eseguiranno Server 2008, i client eseguiranno XP SP ?? e più tardi.L'utilizzo di Kerberos per l'autenticazione di siti Web e servizi Web è una buona idea?
Gli utenti dei prodotti non fanno parte della nostra organizzazione e si allontanano da singoli utenti con un pc autonomo per gli utenti in organizzazioni in esecuzione Active Directory, ecc
Attualmente non c'è negozio di autenticazione o di identità comune e stiamo cercando di rimediare a questo. I nostri obiettivi sono:
- Un singolo nome utente e password (o certificato) su tutti i prodotti.
- Idealmente un unico accesso (è facile se stiamo lanciando un sito Web da un'app client, presumibilmente meno se un utente accede a un sito Web prima di lanciare successivamente l'app lato client).
- Plus il solito; robusto, scalabile ...
Come la maggior parte delle aziende, disponiamo di risorse limitate e di un programma limitato.
Un percorso proposto per l'autenticazione è Kerberos che è probabilmente il percorso ideale per un'applicazione client per l'autenticazione a un servizio Web, ma sono meno felice di usarlo su un sito web in cui l'utente potrebbe inserire un nome utente e una password e la il web server sarebbe responsabile per il ticketing (quindi memorizzare il ticket in un cookie?). Sento che potremmo stare meglio con un singolo negozio di identità e il nostro servizio di autenticazione che accetta nome utente e password, si confronta con un hash ordinato, quindi emette un token di sicurezza personalizzato basato sull'ora. Forse usare SqlMembershipProvider?
Grazie a chiunque abbia letto fino a qui. Kerberos è la soluzione migliore per questo scenario o dovrei cercare altrove? Se non è una buona misura, perché no?
Stiamo anche cercando in AD LDS per l'autorizzazione, ma credo che questo post è lungo già abbastanza ...
Se si vuole andare all'estremo, è possibile implementare SSL a 2 vie e emettere certificati privati per tutti gli utenti. Si potrebbe eliminare la necessità per gli utenti di avere l'autenticazione nome/pwd nel loro insieme (il loro browser semplicemente pubblicherebbe le proprie credenziali al server) e questo è il metodo più sicuro possibile. – Cuga
Mi piacciono sia OpenID che certs ma credo che se andassimo OpenID vorremmo il nostro server OpenID e non penso che abbiamo la risorsa/tempo/budget per farlo. Lo stesso vale per il rilascio dei nostri certificati. C'è un fornitore di certificati nel nostro settore che rilascia certificati senza alcun costo per l'utente e comporta responsabilità per l'autenticazione iniziale ecc. Ma, quando guardammo l'ultima volta, il costo per noi autenticare gli utenti con loro ha rovinato il business case per l'uso loro. –
In entrambi i casi, il problema che ho al momento è che la prima scelta sembra essere Kerberos di cui mi trovo a disagio su un sito web. Tuttavia, non posso effettuare il marshalling di argomenti contro l'utilizzo diverso da quello che non otterremo il completo vantaggio di Kerberos e non "odorerà" correttamente per l'autenticazione del sito web. Nessuno dei quali sembra un buon argomento. Può darsi che Kerberos sia la soluzione giusta e mi sento semplicemente a disagio a causa della mia mancanza di conoscenza. –