sesiones .net

4
Ing. MSc. Verónica Pailiacho 1 TALLER PARA CREACION DE SESIONES DE USUARIO Primero es necesario tener registrado en la base de datos un usuario con Discriminador de ADMINISTRADOR, por lo menos un usuario NORMAL y un usuario VIP. PÁGINA DE ADMINISTRACION Es necesario que accedan únicamente usuarios autenticados a ver el contenido de las páginas. Por lo que solo los administradores pueden acceder al menú de Administración y a las respectivas paginas relacionadas al tema. En la página de Administracion.aspx agregamos lo siguiente: La palabra Bienvenido y a lado un label llamado Lblnombre Un botón para Cerrar Sesión Observe la siguiente pantalla: PÁGINA DE CLIENTES En cambio los clientes deben acceder a una nueva página llamada Clientes.aspx (Crear la misma). Agregar en un Label: PAGINA DE CLIENTES, BIENVENIDO y alado un label con el nombre lblnombre y un botón para Cerrar Sesión, como se muestra en la imagen

Upload: vero-pailiacho

Post on 25-Mar-2016

214 views

Category:

Documents


1 download

DESCRIPTION

SESIONES EN .NET

TRANSCRIPT

Page 1: SESIONES .NET

Ing. MSc. Verónica Pailiacho

1

TALLER PARA CREACION DE SESIONES DE USUARIO Primero es necesario tener registrado en la base de datos un usuario con Discriminador de ADMINISTRADOR, por lo menos un usuario NORMAL y un usuario VIP. PÁGINA DE ADMINISTRACION Es necesario que accedan únicamente usuarios autenticados a ver el contenido de las páginas. Por lo que solo los administradores pueden acceder al menú de Administración y a las respectivas paginas relacionadas al tema. En la página de Administracion.aspx agregamos lo siguiente: La palabra Bienvenido y a lado un label llamado Lblnombre Un botón para Cerrar Sesión Observe la siguiente pantalla:

PÁGINA DE CLIENTES En cambio los clientes deben acceder a una nueva página llamada Clientes.aspx (Crear la misma). Agregar en un Label: PAGINA DE CLIENTES, BIENVENIDO y alado un label con el nombre lblnombre y un botón para Cerrar Sesión, como se muestra en la imagen

Page 2: SESIONES .NET

Ing. MSc. Verónica Pailiacho

2

PÁGINA PRINCIPAL La pagina principal en ASP.Net es el Default.apsx por lo tanto en esta página se debe hacer le inicio de sesión. Para esto se usa el componente Login de la categoría Login

Una vez cargado en la página seleccionamos Autoformat para seleccionar el color

Page 3: SESIONES .NET

Ing. MSc. Verónica Pailiacho

3

Cambie el Id del componente en las propiedades y llámelo LOGIN Si está instalado en Ingles el Visual Studio, podemos cambiar el texto del componente en las propiedades del mismo, como por ejemplo LoginButtonText: Iniciar RememberMeText: Recordar la próxima vez TitleText: INICIO DE SESION Y así los demás mensajes se pueden poner en español. Autenticación de usuario Dar doble clic sobre el componente y escribir el siguiente código: try { //invocar al web service para autenticar a una persona este debe devolver el nombre y el tipo de usuario que es persona.wspersona per = new persona.wspersona(); DataSet ds; ds = per.autenticar_usuario(Login.UserName ,Login.Password ); //preguntar si en el data set hay algun registro si es asi asignar a la variable de Sesion el nombre del usuario y de acuerdo al tipo de usuario redirecionarle al lugar permitido if ((ds.Tables [0].Rows.Count != 0) ) { //variable de sesion en donde se lamacena el nombre del usuario Session["Usuario"] = ds.Tables[0].Rows[0]["nombre"].ToString(); Session["Tipo"] = ds.Tables[0].Rows[0]["discriminador"].ToString(); //obtener el tipo de usuario que es (ADMINISTRADOR, NORMAL O VIP) // string tipo = ds.Tables[0].Rows[0]["discriminador"].ToString(); //si es ADMINISTRADPOR se abrira la pagina de Administracion.aspx, caso contrario la pagina Clientes y si no es usuario autenticado no ingresara a ninguna pagina if (tipo == "ADMINISTRADOR") { Response.Redirect("Administracion.aspx"); } else { Response.Redirect("Clientes.aspx"); } } else { Response.Redirect("Default.aspx"); }

Page 4: SESIONES .NET

Ing. MSc. Verónica Pailiacho

4

} catch (Exception ex) { } ACCESO RESTRINGIDO A PÁGINAS La página de administración.aspx debe conservar la sesión iniciada y tendrá acceso a ella solo usuarios autenticados, para esto damos doble clic sobre el web form (en la interfaz) y se creará el método PAGELOAD. Dentro de este escribimos el siguiente código: if (!this.IsPostBack) { try { if (Session["Usuario"] != null) {

//pregunta si es administrador ingresa, caso contrario le envia al Default.aspx string tipo = Session["Tipo"].ToString(); if (tipo == "ADMINISTRADOR") {

// mostrar el nombre del usuario autenticado lblnombre.Text = Session["Usuario"].ToString(); } else { Response.Redirect("Default.aspx"); } } else { Response.Redirect("Default.aspx"); } } catch (Exception ex) { } } Programación del Botón Cerrar Sesión De doble clik sobre el botón e inserte el siguiente código Session.Abandon(); //cierra la session Response.Redirect("Default.aspx"); //redirecciona a otra pagina Este código de acceso restringido a las páginas se debe agregar en todas las páginas que tienen restricción, por lo tanto agregue en la página Clientes.aspx Tomando en cuenta que ahora el tipo puede ser NORMAL o VIP