18/08/2012, 15:23
|
| | Fecha de Ingreso: agosto-2008
Mensajes: 142
Antigüedad: 16 años, 4 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 |