Domanda

Ho un'applicazione ASP.NET MVC in cui ho appena integrato il RPX di terze parti sistema di identità federata. L'integrazione sta funzionando bene, ma sto avendo qualche difficoltà confezionamento mia testa intorno a che cosa fare con esso a livello di ASP.NET.

Perché l'identità è gestito esternamente, non ho bisogno di password in mio app: non ho mai ricevuto la password dell'utente, solo la loro identità. Tuttavia, la roba provider ASP.NET appartenenza all'Unione richiede le password essere passate intorno al fine di creare un utente, firmare un utente in, ecc

Ho preso in considerazione utilizzando new Guid() al momento della creazione, ma ciò richiederebbe una chiamata al database per recuperare la password dell'utente prima che potessi firmare l'utente tramite il provider di appartenenze. Ho potuto utilizzare la stessa password per ciascun utente in modo che è noto in anticipo, ma sono preoccupati che questo avrebbe reso i dati del mio utente insicuro.

Sarei interessato a sapere come altri siti di gestire questo problema, per esempio, StackOverflow.

[vedi anche mia altra domanda , per quanto riguarda i fornitori di appartenenza per un tale app.]

È stato utile?

Soluzione

  

ma sono preoccupati che questo avrebbe reso i dati del mio utente insicuro.

Iniziare facendo in modo che nessuno può autenticare direttamente contro il vostro database utilizzando un nome utente e una password - immagino che questo è già il caso, come si utilizza RPX a fare la vera autenticazione, e vi sono solo invocando il provider di appartenenza ASP.NET una volta è già stata stabilita l'identità dell'utente.

Quindi, la password memorizzata dalla tua parte diventa immateriale, perché non è un segreto - se riesco a capire che cosa la password di qualcuno è dalla tua parte, non compromette improvvisamente i loro dati perché ancora non riesco ad accedere utilizzando tale informazione. segreto dell'utente è gestita dal provider 3a parte, non tu.

Quindi, si potrebbe anche archiviare ciò che è più conveniente (vale a dire un noto valore fittizio) - si potrebbe anche disattivare la crittografia della password e sul provider di appartenenza, per ottenere indietro alcuni cicli sul server. Nessun punto in cifrare / hashing valori che non vengono utilizzati per verificare l'identità di nessuno.

Altri suggerimenti

Perché l'appartenenza asp.net uso allora? In realtà non si rientra in quello che stai facendo, che è l'autenticazione 3rd party. Forse si potrebbe avere uno sguardo alla dotnetopenid progetto ed esempi in quanto hanno un ASP classico. esempio sito rete che è possibile modificare per mvc? Hanno un wiki qui Forse google dotnetopenid mvc?

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top