Buongiorno a tutti,
sto realizzando una Progetto Web in MVC5 e ho utilizzato la gestione degli accessi presente in MVC.

Il tutto funziona perfettamnete. Ora avrei la necessità di sviluppare una serie di webAPI per poter registrare/autenticare nuovi utenti e gestire risorse autenticate.

Pensavo di implementare le webapi all'interno del progetto. Posso utilizzare lo stesso AccountController di MVC?

Mi conviene sviluppare un nuovo progetto di tipo WebAPI e implementarlo in un sottodominio del sito? In questo modo avrei la possibilità di utilizzare il codice generato in automatico dal progetto WEBAPI per la gestione degli utenti.

Grazie.
11.886 messaggi dal 09 febbraio 2002
Contributi
Ciao,
sì, puoi anche fare un altro progetto. Forse la scelta dipende anche da che tipo di hosting stai utilizzando. Se hai accesso amministrativo al server (o se usi Azure) puoi pubblicare il progetto ASP.NET WebAPI in una sottocartella (es. /api), ovvero come applicazione di quel sito IIS.

Se hai utilizzato ASP.NET Identity per la gestione degli utenti, tutti i metodi di gestione si trovano già incapsulati nello UserManager e quindi sarà facile invocarli dagli ApiController.
Al limite, se hai altra logica nel mezzo, la sposti in un progetto class library condiviso sia dal progetto ASP.NET MVC che ASP.NET Web API.

In alternativa, se a causa del tuo hosting provider hai bisogno di tenere tutto in un unico progetto puoi farlo perché entrambe le tecnologie convivono bene (dalla prossima versione di ASP.NET MVC sono state addirittura unificate).

Tieni presente che, in un caso o nell'altro, per l'autenticazione non potrai riutilizzare lo stesso meccanismo. Con ASP.NET MVC avrai probabilmente un'autenticazione basata su cookies di autenticazione, mentre con Web API dovrai usare una chiave API o un token.
Esempio:
http://www.aspitalia.com/script/1134/Proteggere-Chiave-Servizio-ASP.NET-Web-API.aspx

ciao,
Moreno
Modificato da BrightSoul il 17 settembre 2015 08.26 -

Enjoy learning and just keep making

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.