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:
La tabla en cuestion se llama Usuario, con campos TipoUsuario, Email, Contrasenya, donde TipoUsuario puede ser 0(Administrador), 1(Candidato), 2(Empresa).<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>
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:
y tambien el codigo para redireccionarlo: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
Código:
Muchas gracias por todo, un saludo! 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