Ver Mensaje Individual
  #1 (permalink)  
Antiguo 18/08/2012, 15:23
asastrem
 
Fecha de Ingreso: agosto-2008
Mensajes: 142
Antigüedad: 15 años, 8 meses
Puntos: 2
Variable Global Y Login

Buenas trades foreros, a ver si alguien me puede ayudar con el problema que tengo.
resulta que desarrolle un sitio web de ventas por ejecutivos, esto quiere decir que cada ejecutivo se logea y debe de entrar a su cuenta y capturar sus ventas, pero resulta que al entrar mas de 2 ejecutivos de repente les cambia los usuarios, y lo que capturan se va a otra cuenta.
Claro que en el sitio de desarrollo no pasa eso y eso porque como solo uso un usuario, pero en produccion ya al estar todos capturando sus ventas, ocurre lo anterior.
aqui va lo programado:

1.- primero genera unas variables publicas en la carpeta App_Code
Imports Microsoft.VisualBasic

Public Class Variables
Public Shared v_userID As Integer
Public Shared v_userNivel As Integer
Public Shared v_GerenteId As Integer
End Class

2.- tengo dos niveles de acceso
ejecutivos y gerentes

por lo cual genere dos carpetas con casi las mismas paginas aspx,
en la carpeta gerente pueden entrar todos los gerentesy en la carpeta ejecutivos
entra cada ejecutivo y al conectarse hay un select que solo trae los datos del ejecutivo (en teoria), pero tanto en la carpeta de ejecutivos como en la de gerente, me genera los mismos problemas, de repente un ejecutivo entra con su claves y de repente ya esta como otro ejecutivo

3.- la pagina login.aspx es la siguiente
Imports System.Data
Imports System.Data.SqlClient
Imports System.Security.Cryptography

Partial Class _Default
Inherits System.Web.UI.Page

Protected Sub LoginButton_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles LoginButton.Click
Dim url As String = "~/Login.aspx"
If Page.IsValid Then
If Membership.ValidateUser(txtCorreo.Text, txtPassword.Text) Then
FormsAuthentication.RedirectFromLoginPage(txtCorre o.Text, rememberme.Checked)
Else

End If
End If
Using cnn As New SqlConnection(Me.SqlDataSource1.ConnectionString)
Dim sel As String = Me.SqlDataSource1.SelectCommand & " WHERE Correo = @p_correo"
Dim cmd As New SqlCommand(sel, cnn)
cnn.Open()
cmd.Parameters.AddWithValue("@p_correo", txtCorreo.Text)
Dim tabla As New DataTable
Dim da As New SqlDataAdapter(cmd)
da.Fill(tabla)
If tabla.Rows.Count = 0 Then
Me.lblAviso.Text = "No registrado, contacte al Supervisor"
Exit Sub
End If
Dim clave As String = FormsAuthentication.HashPasswordForStoringInConfig File(txtPassword.Text, "SHA1")
If clave <> tabla.Rows(0)("Clave") Then
Me.lblAviso.Text = "Verifique la Clave"
Exit Sub
End If
Variables.v_userID = tabla.Rows(0)("IdAe")
Variables.v_GerenteId = tabla.Rows(0)("IdGerente")
Variables.v_ClusterId = tabla.Rows(0)("IdCluster")
Variables.v_usernivel = tabla.Rows(0)("Nivel")
Session("autorizado") = 1
Session("nomusuario") = tabla.Rows(0)("Nombre")
Me.lblAviso.Text = "Registered User and password validated."
If tabla.Rows(0)("Nivel") = 1 Then url = "Gerente/Inicio.aspx"
If tabla.Rows(0)("Nivel") = 2 Then url = "Ejecutivo/inicio.aspx?p_uid= & Variables.v_userID & p_gid = Variables.v_GerenteId
End Using
c)
Response.Redirect(url)
End Sub
End Class

de antemano gracias por la ayuda