2011-06-20 8 views

Odpowiedz

3
Session["login_user"] = "[username]"; 
string username = Session["login_user"].ToString().Trim(); 
2

Pytanie jest szeroka odpowiedź, w Simply można śledzić jak to

  • Tworzenie bazy danych, tabelę użytkownika w serwerze SQL lub dowolnej bazy danych do wyboru
  • utworzyć formularz logowania z identyfikatora użytkownika i hasło
  • Sprawdź je w bazie danych pod kątem dostępności użytkownika
  • Jeśli istnieją dopasowania użytkownika i hasła, utwórz sesję, na przykład Session.Add ("Userid", txtUserid.Text);
  • na innych stronach (zabezpieczonych stron, gdzie tylko zarejestrowanych użytkowników dozwolone) napisać ten kod w każdym przypadku obciążenia strona

    if (Session [ "ID użytkownika"] == null) Response.Redirect ("Login.aspx");

7

W języku C# można zdefiniować zmienną sesji tak:

Session["userame"]= txtusername.Text; 

gdzie txtusername jest pole tekstowe. Na innej stronie można go nazwać:

string usrname = Session["username"].ToString(); 

Aby sprawdzić, czy użytkownik jest zalogowany, czy nie, na określonej stronie; musisz sprawdzić, czy ta sesja jest pusta, czy nie. Jeśli sesja jest pusta, przekieruj użytkownika na stronę logowania, może on wyświetlić stronę. Ta sama logika dotyczy wszystkich stron, na których chcesz zaimplementować walidację sesji. Próbkę (na razie Page_Load):

if (Session["username"] == null) 
    Response.Redirect ("Login.aspx"); 

Nadzieja to pomaga ... :)

+0

+1 ....... dobre explaination ... –

+0

Czy istnieje lepszy sposób niż sprawdzanie "username" ? Czuję, że gdyby był jakiś inny błąd (taki jak dopuszczenie zerowych nazw użytkowników), to nie jest on niezawodny ... Jakiś rodzaj flagi? Tutaj, w samym pliku cookie? – Worthy7

+0

@ Worthy7 można użyć funkcji profilu wewnętrznego asp.net. Skorzystaj z tego linku: https://msdn.microsoft.com/en-us/library/2y3fs9xs.aspx – Jayesh

Powiązane problemy