lab 04

14
Desarrollando Aplicaciones con Microsoft ASP.NET 2.0 Agregando Seguridad a nuestra Aplicación

Upload: freddy-chilon-vargas

Post on 09-Nov-2015

213 views

Category:

Documents


0 download

DESCRIPTION

asp

TRANSCRIPT

  • Desarrollando Aplicaciones con Microsoft ASP.NET 2.0 Agregando Seguridad a nuestra Aplicacin

  • Construccin de Sitios Web Dinmicos con VISUAL STUDIO 2005 y SQL Server 2005 Enterprice Global Solution

    LABORATORIO: Creando una Aplicacin Web Segura

    En este laboratorio, usted podr configurar la seguridad de su Aplicacin Web

    haciendo uso de los nuevos controles que se integran con la nueva API Membership,

    adems tambin crear seguridad basada en Roles para su Aplicacin.

    As es como la pgina se ver en el Internet Explorer al finalizar el laboratorio.

    2Ing. Samuel Mestanza A.

  • Construccin de Sitios Web Dinmicos con VISUAL STUDIO 2005 y SQL Server 2005 Enterprice Global Solution

    EJERCICIO: Seguridad Basada en la API Membership Objetivo: En este ejercicio configurar la seguridad usando la herramienta de ASP.NET,

    agregar controles para el login, creacin de usuarios entre otros, y adems

    personalizar la seguridad.

    Nota: El laboratorio est diseado para trabajar en Visual C#.

    Paso 1: Usando la herramienta de Configuracin de

    ASP.NET.

    1. Dentro del archivo web.config, y dentro del tag system.web, copiamos el

    siguiente cdigo:

    2. Ahora abrimos la herramienta de Configuracin de ASP.NET

    3Ing. Samuel Mestanza A.

  • Construccin de Sitios Web Dinmicos con VISUAL STUDIO 2005 y SQL Server 2005 Enterprice Global Solution

    3. Ahora se abrir una nueva ventana en el navegador:

    4

    4. Ahora seleccionamos la opcin Security:

    Ing. Samuel Mestanza A.

  • Construccin de Sitios Web Dinmicos con VISUAL STUDIO 2005 y SQL Server 2005 Enterprice Global Solution

    5. Desde esta ventana nosotros podemos crear y manejar usuarios,

    seleccionar el tipo de configuracin, crear y manejar roles, y crear y

    manejar roles de acceso.

    6. Ahora creamos un nuevo usuario:

    7. Seleccionamos la autenticacin basada en formularios.

    8. Creamos el Rol administrador

    5Ing. Samuel Mestanza A.

  • Construccin de Sitios Web Dinmicos con VISUAL STUDIO 2005 y SQL Server 2005 Enterprice Global Solution

    9. Ahora agregamos al usuario admin dentro del rol administrador.

    6Ing. Samuel Mestanza A.

  • Construccin de Sitios Web Dinmicos con VISUAL STUDIO 2005 y SQL Server 2005 Enterprice Global Solution

    Paso 2: Agregar controles de Login para agregar seguridad a nuestra Aplicacin Web.

    1. Agregamos una nueva pgina a nuestra Aplicacin login.aspx, este debe

    usar nuestra master page.

    2. En la vista Source de la pgina login.aspx, agregamos el siguiente

    cdigo dentro del control asp:content:

    Inicie Sesion ingrese sus datos:

    3. Ahora en la vista diseo agregamos el control Login:

    4. Ahora en nuestra pagina site.master agregamos los controles

    asp:loginStatus y asp:loginView:

    7Ing. Samuel Mestanza A.

  • Construccin de Sitios Web Dinmicos con VISUAL STUDIO 2005 y SQL Server 2005 Enterprice Global Solution

    5. Cambiamos las imgenes del control asp:loginStatus:

    6. En nuestro control LoginView1, agregamos el siguiente cdigo:

    hola !

    7. Ejecutamos nuestra aplicacin.

    8Ing. Samuel Mestanza A.

  • Construccin de Sitios Web Dinmicos con VISUAL STUDIO 2005 y SQL Server 2005 Enterprice Global Solution

    Paso 3: Agregando seguridad Basada en Roles a nuestra Aplicacin.

    1. Usando la Herramienta de Administracin de ASP.NET, agregamos un

    nuevo usuario ricardo, y un nuevo rol publicador. Por ltimo

    asignamos el rol publicador al usuario ricardo.

    2. Nos vamos al archivo Web.sitemap y en el nodo con

    Title=Administracin, agregamos al rol administrador:

    3. En el archivo de cdigo, noticias.aspx.cs, del formulario web

    noticias.aspx copiamos el siguiente cdigo den la clase.

    //creamos una variable privada public bool puedePublicar; protected void Page_Load(object sender, EventArgs e) { //inicializando puedePublicar = (Roles.IsUserInRole("administrador") || Roles.IsUserInRole("publicador")) ? true : false; panelInsertar.Visible = puedePublicar; }

    4. Ahora en el formulario web noticias.aspx, en la vista Source, ubicamos

    el control panelEdicion y agregamos el siguiente atributo:

    Visible= 5. Ahora en la pgina master.page, ubicamos el control Menu1 y nos

    vamos al evento MenuItemDataBound:

    9Ing. Samuel Mestanza A.

  • Construccin de Sitios Web Dinmicos con VISUAL STUDIO 2005 y SQL Server 2005 Enterprice Global Solution

    Y copiamos el siguiente cdigo al evento:

    //si no es administrador borrar lo de administrador if (!Roles.IsUserInRole("administrador")) if (e.Item.Text == "Administracion") e.Item.Parent.ChildItems.Remove(e.Item);

    10Ing. Samuel Mestanza A.

  • Construccin de Sitios Web Dinmicos con VISUAL STUDIO 2005 y SQL Server 2005 Enterprice Global Solution

    Paso 4: Creando usuarios desde nuestra aplicacin y asignando Roles.

    1. En nuestra aplicacin agregamos un nuevo formulario web,

    creacionusuario.aspx, para esto debemos usar nuestra master.page. Y

    agregamos el siguiente cdigo al control content1:

    Creacion de Cuenta ingrese sus datos:

    2. En la vista Design del formulario web creacionusuario.aspx, agregamos el

    control:

    3. Ahora en nuestro formulario web login.aspx y en el control login1,

    modificamos las siguiente propiedades:

    11Ing. Samuel Mestanza A.

  • Construccin de Sitios Web Dinmicos con VISUAL STUDIO 2005 y SQL Server 2005 Enterprice Global Solution

    4. Ahora nuestra aplicacin agregamos otro nuevo formulario web,

    lista_usuarios.aspx, para esto debemos usar nuestra master.page. Y

    agregamos el siguiente cdigo al control content1:

    Lista de Usuarios usuarios:

    5. Ahora agregamos un control GridView al formulario web

    lista_usuarios.aspx, en la vista diseo:

    12Ing. Samuel Mestanza A.

  • Construccin de Sitios Web Dinmicos con VISUAL STUDIO 2005 y SQL Server 2005 Enterprice Global Solution

    6. En el archivo de cdigo, lista_usuarios.aspx.cs, del formulario web

    lista_usuarios.aspx dentro del evento load agregamos el siguiente cdigo:

    if (!Page.IsPostBack) { GridView1.DataSource = Membership.GetAllUsers(); GridView1.DataBind(); }

    7. En la vista Source del formulario web lista_usuarios.aspx, ubicamos el

    control GridView1 y copiamos el siguiente cdigo dentro del control:

    8. Ahora agregamos a nuestra aplicacin un nuevo formulario web:

    crearRol.aspx, y dentro del control content1 agregamos el siguiente

    cdigo:

    Creacion de Roles: Roles de Usuario

    13Ing. Samuel Mestanza A.

  • Construccin de Sitios Web Dinmicos con VISUAL STUDIO 2005 y SQL Server 2005 Enterprice Global Solution

    Ing. Samuel Mestanza A.

    14

    Agregar otro Rol:

    9. Ahora dentro del archivo de cdigo crearRol.aspx.cs, dentro del evento

    load de la pgina agregamos el siguiente evento:

    string username; if (!Page.IsPostBack) { username = Request.QueryString["username"]; lblUser.Text = username; } username = lblUser.Text; //recuperando queryString ListBox1.DataSource = Roles.GetRolesForUser(username); ListBox1.DataBind(); //solamente llenando en la primera cargada if (!Page.IsPostBack) { //llenando todos los roles DropDownList1.DataSource = Roles.GetAllRoles(); DropDownList1.DataBind(); }

    10. En el mismo archivo y dentro del evento clic de ImagenButton1

    agregamos el siguiente cdigo:

    if ( !Roles.IsUserInRole(lblUser.Text, DropDownList1.Text)) { //agregando el usuairo al rol Roles.AddUserToRole(lblUser.Text, DropDownList1.Text); Response.Redirect("lista_usuarios.aspx"); }

    11. Ahora ejecutamos nuevamente nuestra aplicacin.