Abbiamo un'applicazione Web esistente che è stata creata su MVC & Provider di appartenenze SQL per l'autenticazione dell'utente. L'applicazione include anche schermate di amministrazione dell'amministratore per creare/modificare utenti, reimpostare password, attivare account, ecc ... È un sistema abbastanza maturo ed è stato in produzione per ~ 2,5 anni.Identità ASP.NET e provider di appartenenze ASP.NET "Mashup"
Ora abbiamo un nuovo requisito per esporre alcuni dati dal sistema tramite API, e consideriamo WebApi come una tecnologia candidata.
Uno dei problemi che sto incontrando riguarda l'autenticazione. Mi piacerebbe sfruttare le funzionalità esistenti di gestione utenti/ruoli nella nostra applicazione, per creare e gestire gli account API. Tuttavia, poiché l'opzione preferita per WebAPI è l'uso dell'identità ASP.NET (token claim/bearer ecc.) Sono un po 'confuso su quali sarebbero le opzioni migliori.
Sarebbe possibile o una cattiva idea di in qualche modo il clacson nell'autenticazione utente/password del provider di appartenenza esistente nel web api auth mechs. C'è un metodo nello ApplicationOAuthProvider
, che sembra che potrei manipolare sostituendo la linea IdentityUser user = await userManager.FindAsync(context.UserName, context.Password);
con una chiamata al MembershipProvider. Questo sembra molto semplicemente cludgy.
Il pensiero & sarebbe molto apprezzato.