Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 6 odgovora
  • 3.521 pregleda

Najnovija ↓

Problem sa Sesijom 11.10.2006. u 10:23 · pre 244 meseca #1
Napravio sam korisničku kontrolu koja predstavlja navigacioni meni i koja stoji na svakoj strani.
Problem je sledeći: Ta kontrola ispod menija ima panel za logovanje, ako nije ulogovan panel je vidljiv, u suprotnom nije.
U tom panelu event za dugme je sledeći
Code:

        Dim result As Integer = obj.validateUser(txtUsername.Text, txtPassword.Text)
        If (result = 1) Then
            ' valid
            Session("username") = txtUsername.Text
            Session("accountID") = obj.getAccountID(txtUsername.Text)
            If (Request("returnUrl") <> Nothing) Then
                Response.Redirect(Request("returnUrl"))
            Else
                Response.Redirect(Request.Url.AbsoluteUri)
            End If
        Else
            If (result = 0) Then
                ' not valid
                lblInfo.Text = "Log In podaci nisu ispravni."
                Return
            Else
                ' itd.

E sad, kad se ulogujem prvi put, username i accountID se bez problema smeste u Sesiju i učita mi se strana. Međutim, ako klikom na link sa menija ponovo pokušam da pristupim toj istoj strani, prijavi mi da nisam ulogovan.. Nakon što se ponovo ulogujem, sve radi bez problema.

Jel ima neko neku ideju šta bi ovo moglo da bude?
Potpis
Winners never quit, quitters never win.
Re: Problem sa Sesijom 11.10.2006. u 18:14 · pre 244 meseca #2
Kako proveravaš da li si ulogovan daj taj kod...
Re: Problem sa Sesijom 18.10.2006. u 10:02 · pre 243 meseca #3
Metoda validateUser
Code:
Public Function validateUser(ByVal username As String, ByVal password As String)
        ' 0-not valid, 1-valid, 2-not active, 3-error
' crypt je objekat klase za enkripciju
        password = crypt.EncryptText(password)
        Dim status As Integer
        cmd.Parameters.Clear()
        cmd.Connection = cnn
        cmd.CommandText = "SELECT COUNT(*) FROM userAccounts WHERE (username = @username AND password = @password)"
        cmd.Parameters.Add(New SqlParameter("@username", username))
        cmd.Parameters.Add(New SqlParameter("@password", password))
        Dim rowsAffected As Integer = 0
        Dim accountActive As Boolean = False
        Try
            If (cnn.State = ConnectionState.Closed) Then
                cnn.Open()
            End If
            rowsAffected = Convert.ToInt32(Convert.ToString(cmd.ExecuteScalar()))
            If (rowsAffected = 1) Then
                status = 1
                cmd.CommandText = "SELECT active FROM userAccounts WHERE (username = @username AND password = @password)"
                Dim act As Integer = Integer.Parse(Convert.ToString(cmd.ExecuteScalar()))
                If (act < 2) Then
                    accountActive = False
                Else
                    accountActive = True
                End If
                If (accountActive = True) Then
                    status = 1
                Else
                    status = 2
                End If
            Else
                status = 0
            End If
        Catch ex As Exception
            status = 3
        Finally
            cnn.Close()
        End Try
        Return status
    End Function
Potpis
Winners never quit, quitters never win.
Re: Problem sa Sesijom 18.10.2006. u 10:05 · pre 243 meseca #4
Ukoliko metoda validateUser vrati 1, korisničko ime i njegov ID se smeštaju u Sesiju.
A provera da li je korisnik već ulogovan
Code:
 If (Session("accountID") = Nothing) Then
            Response.Redirect("../info.aspx?msgID=" & crypt.EncryptText("1") & "&returnUrl=" & Request.Url.AbsoluteUri)
            Return
        End If
Potpis
Winners never quit, quitters never win.
Re: Problem sa Sesijom 23.10.2006. u 09:44 · pre 243 meseca #5
Ajde bre pomozite ljudi!
Potpis
Winners never quit, quitters never win.
Re: Problem sa Sesijom 23.10.2006. u 13:29 · pre 243 meseca #6
Kako ti izgleda Page_Load i gdje provjeravas ima li sesije?
Re: Problem sa Sesijom 25.10.2006. u 15:42 · pre 243 meseca #7
U Page_Load sam stavio
Code:

If (Session("accountID") = Nothing)
Begin
Response.Redirect("nekaStrana.aspx")
Return
End

A najgore je od svega što mi na Webu sve radi bez problema. Samo u lokalu poblesavi.
Potpis
Winners never quit, quitters never win.
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme