lab 04
DESCRIPTION
aspTRANSCRIPT
-
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.