Ver Mensaje Individual
  #1 (permalink)  
Antiguo 10/03/2008, 12:31
Troilus
 
Fecha de Ingreso: marzo-2008
Mensajes: 26
Antigüedad: 16 años, 2 meses
Puntos: 0
Exclamación Como saber el link del que procede

Buenas a todos,

Estoy dando mis primeros pasos en ASP.net y me ha surgido un pequeño problema, estoy tratando la identificación de los usuarios con una base de datos.

En la pagina principal tengo puestos los dos siguientes links para acceder a su correspondiente apartado:

Código:
<div id="candidatos">
   <a href="Candidatos/prueba.aspx" id="Candidatos">Candidatos registrados</a>
</div>
<div id="empresas">
   <a href="Empresas/prueba.aspx" id="Empresas">Candidatos registrados</a>
</div>
La tabla en cuestion se llama Usuario, con campos TipoUsuario, Email, Contrasenya, donde TipoUsuario puede ser 0(Administrador), 1(Candidato), 2(Empresa).

En el web.config tengo configurado para que en caso de que el usuario no esté loggeado (independientemente del tipo, me redireccione a una página de login). Al ser la página de login común para los dos tipos de usuario necesito distinguirlos de alguna forma, ya que si no, al comprobar que existe en la tabla, me redireccionaría a la que yo le hubiera hecho click con el System.Web.Security.FormsAuthentication.RedirectFr omLoginPage(txtMail.Text, chkRecordar.Checked) independientemente del tipo de usuario que sea.

Había pensado en reconocer de que link provenia si era de candidatos, o bien de empresas, pero llevo un par de horas buscando y no se bien bien como hacerlo, o bien si alguien sabe alguna forma de hacerlo más sencilla...

Pego aquí tambien el storedProcedure que utilizo para comprobar con la base de datos:

Código:
ALTER PROCEDURE AutenticacionDB
	(
	@Email varchar(30),
	@Contrasenya nchar(12)
	)
AS
	DECLARE @Tipo int
	
SET @Tipo=(SELECT TipoUsuario FROM Usuario WHERE (Contrasenya = @Contrasenya) AND (Email = @Email))
    IF @Tipo IS NOT NULL
		RETURN @Tipo
	ELSE
		RETURN -1
y tambien el codigo para redireccionarlo:

Código:
       Protected Sub lnkLogin_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles lnkLogin.Click
        If IsValid Then
            If AutenticacionBD(txtMail.Text, txtContrasenya.Text) > -1 Then
                System.Web.Security.FormsAuthentication.RedirectFromLoginPage(txtMail.Text, chkRecordar.Checked)
            End If
        End If
    End Sub
Muchas gracias por todo, un saludo!