Ich habe eine interne Webanwendung in ASP.NET 4
gebaut. Wir verwenden eine Authentifizierungs-API, die von einem anderen Team erstellt wurde. Wenn ein Benutzer der Site erfolgreich für die Site authentifiziert wird, möchte ich ihm Zugriff auf die gesamte Site gewähren.Benutzerdefinierte Authentifizierung und ASP.NET MVC
In ASP.NET
WebForm Tage habe ich nur ein benutzerdefiniertes Benutzerobjekt in Sitzung beibehalten. Wenn dieses Objekt null war, wusste ich, dass der Benutzer nicht authentifiziert wurde. Gibt es dafür eine ähnliche, aber verbesserte Methode in MVC
. Ich möchte meinen eigenen Anbieter des ASP.NET-Mitgliedschaftsmodells, wenn möglich, nicht erstellen. Was ist der einfachste Weg dies zu tun?
Können Sie das Authentifizierungsticket nicht einfach manuell nach dem Aufruf Ihrer alten API festlegen? – TheKingDave
Wenn das 'FormsAuthenticationTicket' gesetzt ist, können Sie' Request.IsAuthenticated' und 'User.Identity' verwenden, um festzustellen, ob der Benutzer angemeldet ist. Auch das' Authorize'-Attribut funktioniert. –
FYI, die Authentifizierung in der Sitzung ist eine sehr schlechte Idee, es ist unsicher (Cookie ist nicht verschlüsselt und leicht zu stehlen), und anfällig für Fehler als Sitzung kann jederzeit recycelt werden. Verwenden Sie stattdessen FormsAuthentication –