2009-06-13 1 views
0

Ich versuche, ein Login-System für meine Website zu erstellen, ich habe eine benutzerdefinierte login.ascx erstellt und wenn der Benutzer auf [Login] klickt, erscheint ein div mit dem Inhalt von login.ascx.Wie kann ich die ASP.NET-Anmeldung einrichten, damit der Benutzername oder die Benutzer-ID später in der Sitzung abgerufen werden kann?

Dann, nachdem der Benutzer seine Anmeldeinformationen eingegeben hat, klicken sie auf die Schaltfläche Anmelden. Sie bestätigt bekommen und protokollierte diesen Code in der Login-Klick-Funktion bei der Verwendung:

if(Membership.ValidateUser(userName.Text, password.Text)) 
{ 
    //Here is where I'm not sure what to do 
} 
else 
{ 
    LoginError.Visible = true; 
} 

So in dem Abschnitt, wo ich bin nicht sicher, was zu tun ist, würde ich der Benutzer gerne in geloggt (nicht sicher, ob das bedeutet, ein Authentifizierungsticket oder whatnot zu erstellen). Was ist der nächste Schritt, um den Benutzer tatsächlich einzuloggen, ich möchte nicht, dass sie irgendwo umgeleitet werden, da sie bereits auf der richtigen Seite sind.

Ich möchte auch später ihren Benutzernamen oder ihre Benutzer-ID für die Verwendung in meinen Webdiensten abrufen können. Also, für diese sollte ich eine Session.Add, um einen neuen Sitzungswert zu erstellen, oder gibt es eine andere Möglichkeit zum Speichern der Daten, die bevorzugt wird?

Antwort

2

für den Benutzer zu authentifizieren,

FormsAuthenatication.SetAuthCookie(username, false/*true if you want to remember the user's login*/); 

Das in der Anmeldung des Benutzers. Sie später

Page.User.Identity.Name 

Benutzernamen des aktuellen Benutzers und

Page.User.Identity.IsAuthenticated 

abrufen können überprüfen wenn der Benutzer angemeldet ist.

1

Es muss nicht in Session gespeichert werden. Verwenden Sie einfach:

FormsAuthentication.SetAuthCookie 

, um ein Authentifizierungsticket an den Client zu senden. Verwenden Sie dann HttpContext.Current.User.Identity, um es später abzurufen.

Verwandte Themen