Verwenden des benutzerdefinierten MembershipProvider ohne ein Login-Steuerelement in ASP.NET

8

Wir haben eine benutzerdefinierte MembershipProvider in ASP.NET . Jetzt gibt es 2 mögliche Szenarien, die der Benutzer validieren kann:

  1. Benutzeranmeldung über login.aspx Seite durch Eingabe seines Benutzernamens / Passworts. Ich habe die Anmeldesteuerung verwendet und sie mit MyMembershipProvider verknüpft. Das funktioniert einwandfrei.

  2. Ein Authentifizierungstoken wird über eine URL in einer Abfragezeichenfolge einer anderen Website übergeben. Dafür habe ich eine Überladung in MembershipProvider.Validate(string authenticationToken) , die den Benutzer tatsächlich überprüft. In diesem Fall können wir das Login-Steuerelement nicht verwenden. Nun, wie kann ich das gleiche MembershipProvider verwenden, um den Benutzer zu validieren, ohne das Login-Steuerelement zu verwenden? Ich habe versucht, Validate manuell aufzurufen, aber das signiert den Benutzer nicht.

Hier ist das Code-Snippet, das ich verwende

%Vor%     
Ramesh Soni 03.09.2008, 13:24
quelle

3 Antworten

13

Nach erfolgreicher Validierung müssen Sie den Benutzer anmelden, indem Sie FormsAuthentication.Authenticate: Ссылка

BEARBEITEN: Es ist FormsAuthentication.SetAuthCookie: Ссылка

Um den Benutzer auch dorthin zurückzuleiten, wo er hin wollte, rufen Sie Folgendes auf: FormsAuthentication.RedirectFromLoginPage: Ссылка

Linktext

    
MartinHN 03.09.2008, 13:29
quelle
4

Sie können Ihre eigene FormsAuthenticationTicket setzen, wenn die Validierung erfolgreich ist.

So ähnlich;

%Vor%     
JasonS 03.09.2008 17:29
quelle
1

Sie haben Recht, wenn Sie die Authentifizierungsinformationen direkt als Cookie speichern. Aber die Verwendung einer starken Hash-Funktion (z.B. MD5 + SHA1) ist großartig und sicher. Übrigens, wenn Sie Sitzungen verwenden (die auch nur ein Hash-Cookie sind), können Sie Authentifizierungsinformationen anhängen.

    
Bernd 18.04.2011 05:30
quelle

Tags und Links