Niveles de acceso de login en c# y sql server

Quisiera saber como puedo hacer para que al momento de loguearme
Si soy administrado me valla a la página X
Y si soy usuario me valla a la página Y
Mi tabla sera usuario
cod_usuario
usu_login
usu_pass
usu_nivel
Ayúdenme please

1 respuesta

Respuesta
1
Veo que tienes un campo de Nivel de Usuario, por lo que sabes a la hora de traer sus datos que tipo de usuario es.
Lo que te queda es después de traer sus datos es preguntar si es o no Admin, si lo es haces un response. Redirect a una página y si no a otra.
Te dejo un ejemplo de lo que yo hago pero leyendo el Request de una web, si viene una variable en la URL actúo de una forma y si no de otra, solo deberías cambiar la pregunta del IF preguntando si es admin o no.
Código:
if (Request["r"] != null)
                {
                    Response.Redirect(Request["r"].ToString());
                }
                else
                {
                    Response.Redirect("inicio.aspx");
                }
Si tienes dudas me lo haces saber.
Si ya no me necesitas, no olvides cerrar la pregunta y valorar mi ayuda, de esa manera quedo disponible para otros usuarios.
Hola experto quisiera saber como puedo hacer para que al momento de loguearme
Si soy administrado me valla a la página X
Y si soy usuario me valla a la página Y
Mi tabla sera usuario
cod_usuario
usu_login
usu_pass
usu_nivel
Ayúdenme please
Bueno no te entiendo tanto tienes algún ejemplo es que mira te explico estoy haciendo una intranet para un colegio pequeño sobre mi tesis
y lo que pido la ayuda es que si yo entro como
administrador me valla la página X
estudiante me valla a la página Y
y profesor a la página Z
es que pido mi tabla usuarios que campos tendira que usar a mi me dijeron añade un campo nivel si me podrías enviar a mi correo un ejemplo simple para guiarme te lo agradecería mucho y que campos tendría que usar para ser la conexión de la BD
Ah si perdón mi correo es [email protected] si tendrías la molestia de ayudarme!
El ejemplo anterior es que debes usar, solo trayendo los datos del usuario de la Base de datos a la hora de logearse.
Por lo general, un sistema bien echo a la hora de empezar trae a través de un SELECT los datos del usuario de la base de datos, como el nombre, etc, en este caso también el NIVEL del mismo que determina los privilegios del mismo.
Ten en cuenta que a mi me encanta ayudar a todo el mundo y recibo muchos pedidos de ayuda a diario, pero no hago el trabajo por los demás, si te doy las pautas, te guio y te enseño, pero no te realizo el trabajo, algunas personas se enojan y me califican con 1 o ninguna estrella como imponiéndome un castigo, pero realmente demuestran que no quieren pensar y quieren que el experto les solucione la vida.
Lo que yo intento aquí es ayudarte, y a ti como a otras muchas personas que me preguntan que son estudiantes es despertar la verdadera arma de un programador que es su razocinio.
Siempre estoy dispuesto a ayudarte, siempre dispuesto a responderte 100 veces, pero no hacer tu trabajo, si no a orientarte y enseñarte todo lo que más pueda.
Disculpa la parnafernaria anterior, pero es que me gusta ser claro.
Ahora paso a explicarte como hago yo un logueo.
Primero que nada no uso asistente alguno, hago un Store Procedure que al momento de que el cliente me apretá el botón ENTRAR yo le mando el USUARIO y la CONTRASEÑA para que a través de un SELECT me traiga los datos.
Ejemplo:
SELECT [IdUsuario],[USU_Usuario],[USU_Contra],[USU_Descripcion] from [eurotec].[dbo].[T_EUR_Usuarios]
Where USU_Usuario = @Usuario
And USU_Contra = @Contra
Como ves traigo todo de la Tabla USUARIOS y lo guardo en un DataSet de esta manera:
Código:
motor ObjMotor = new motor();
DataSet Dst = new DataSet();
Dst = ObjMotor.ValidarEntrada(TxtUsuario.Text, TxtPass.Text);
Motor es mi clase donde me conecto a la BD, es decir mi Capa de datos.
Luego instancio el Objeto DataSet de nombre DST que almacenaré los datos.
Luego llamo a una función que devuelve un DataSet con los datos del Select que te puse más arriba.
Después que lo tengo en mi DataSet puedo preguntar algo así:
Código:
if (Dst.Tables[0].Rows[0]["USU_Nivel"].ToString() == "Profesor"l)
{
     Response.Redirect("z.aspx");
}
    else
{
     Response.Redirect("inicio.aspx");
}
La adaptación de este código ya toca de tu pericia, pero ya la tienes clara, al tener los datos tu puedes preguntar y hacer comparaciones con ellos, incluso usar switch para no hacer tantos IF si tienes más de dos preguntas.
Si tienes dudas me lo haces saber.
Si ya no me necesitas, no olvides cerrar la pregunta y valorar mi ayuda, de esa manera quedo disponible para otros usuarios.
Oks experto muchas gracias gracias por orientarme
y no te preqoups se que todo el mundo te pregunta y
de todas formas gracias ya tengo como guiarme !
De nada, debes CERRAR y VALORAR la pregunta, para darla por finalizada, siempre después puedes repreguntar por esta o realizar otra pregunta ya que quedo a tu disponibilidad.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas