Crear un sitio web ASP.NET con inicio de sesión de usuario básico
Tutorial: Crear un sitio web ASP.NET con inicio de sesión de usuario básico
.NET Framework 4
Muchos sitios web incluyen contenido que solo está disponible para las personas que han iniciado sesión (es decir, que se han autenticado). De forma predeterminada, ASP.NET proporciona plantillas de proyecto de sitio web que incluyen páginas que permiten realizar tareas de autenticación.
La plantilla de proyecto web ASP.NET que se muestra en este tutorial es nueva en Visual Studio 2010.
|
Este tutorial muestra cómo utilizar una plantilla de proyecto web ASP.NET para crear un sitio web con funcionalidad de inicio de sesión básica.
Las tareas ilustradas en este tutorial incluyen:
- Crear un sitio web ASP.NET.
- Crear una página solo para miembros. Solo podrán tener acceso a la página los usuarios autenticados (usuarios que han iniciado sesión).
- Utilizar la página de registro, que permite a los usuarios registrarse y crear una nueva cuenta.
- Iniciar sesión y obtener acceso a información que solo está disponible para los usuarios autenticados.
- Utilizar la página de cambio de contraseña, que permite a los usuarios que tienen una cuenta cambiar su contraseña.
- Hacer que tengan acceso a la página de cambio de contraseña los usuarios autenticados (y solo los usuarios autenticados).
Para poder completar este tutorial, necesitará:
- Microsoft Visual Web Developer 2010 Express o Visual Studio 2010.
- SQL Server Express instalado localmente en el equipo. Para obtener información sobre cómo instalar SQL Server Express, vea Cómo: Conectarse a la base de datos AdventureWorksLT utilizando un archivo .MDF.
Comenzará creando un nuevo proyecto de sitio web ASP.NET. La plantilla de proyecto que usará incluye muchos de los elementos necesarios para crear un sitio que admita la autenticación.
En este tutorial se usa un proyecto de sitio web. No obstante, puede utilizar un proyecto de aplicación web si así lo desea. Para obtener información sobre la diferencia entre estos tipos de proyectos web, vea Proyectos de aplicación web frente a proyectos de sitio web.
Para crear un nuevo sitio web ASP.NET
- Inicie Visual Studio o Visual Web Developer.
- En el menú Archivo, haga clic en Nuevo sitio Web. (Si no ve esta opción, haga clic en Nuevo y, a continuación, haga clic en Sitio web).Aparece el cuadro de diálogo Nuevo sitio web.
- En Plantillas instaladas, haga clic en Visual Basic o en C# y, a continuación, seleccione Sitio web ASP.NET.
- En el cuadro Ubicación web, seleccione Sistema de archivos y escriba el nombre de la carpeta donde desee conservar las páginas del sitio web. Por ejemplo, escriba el nombre de carpeta C:\Websites\Login y, a continuación, haga clic en Aceptar.Visual Studio crea la carpeta y abre el sitio web en la vista Código fuente. Observe que el sitio web raíz contiene varios archivos y carpetas, incluidos la carpeta Cuenta, un archivo Web.config, las páginas About.aspx y Default.aspx, y la página maestra Site.master.
- Presione CTRL+F5 para ejecutar la página.En el explorador se muestra la página principal del sitio web. Observe los elementos de menú (Página principal, Acerca de) y el hipervínculo Iniciar sesión.
- Cierre el explorador.
En esta sección creará una página solo para miembros. Solo podrán obtener acceso a esta página los usuarios que hayan iniciado sesión (usuarios autenticados). Agregará un control HyperLink a la página maestra para redirigir a los usuarios autenticados a la página solo para miembros. Cuando los usuarios que no hayan iniciado sesión (usuarios anónimos) hagan clic en el hipervínculo solo para miembros, se les redirigirá a la página de inicio de sesión donde podrán iniciar sesión o crear una cuenta.
Para crear la página solo para miembros
- En el Explorador de soluciones, haga clic con el botón secundario en la carpeta Cuenta y, a continuación, haga clic en Agregar nuevo elemento.
Nota
Asegúrese de que está creando la nueva página en la carpeta Cuenta. - En el cuadro de diálogo Nuevo sitio web, seleccione Web Forms.
- En el cuadro de texto Nombre, escriba MembersOnly.aspx.
- Active la casilla Seleccionar página maestra y, a continuación, haga clic en Agregar.Aparece el cuadro de diálogo Seleccionar una página maestra.
- Debajo de Contenido de la carpeta, seleccione Site.master y, a continuación, haga clic en Aceptar.La página MembersOnly.aspx se crea en la carpeta Cuenta. La página es una página de contenido de la página Site.master.
- En el Explorador de soluciones, haga doble clic en la página MemberOnly.aspx para abrirla y, a continuación, cambie a la Vista de diseño.
- Agregue contenido a la página principal.Por ejemplo, puede agregar "Welcome to the members-only page. You have successfully logged in".
Además de la página que ha creado, la carpeta Cuenta contiene las siguientes páginas y archivos:
- Register.aspx. Esta página permite a los nuevos usuarios crear una cuenta.
- Página Login.aspx. Solicita un nombre de usuario y una contraseña.
- ChangePassword.aspx. Esta página permite que los usuarios registrados cambien su contraseña.
- ChangePasswordSuccess.aspx. Esta página se muestra cuando los usuarios cambian correctamente su contraseña.
- Un archivo Web.config.
De forma predeterminada, los usuarios anónimos no tienen acceso a las páginas de la carpeta Cuenta, excepto las páginas Register.aspx y Login.aspx. Los valores que definen el acceso a las páginas de la carpeta Cuenta se configuran en el archivo Web.config de esta carpeta. Los valores que definen el acceso a la página de inicio de sesión se configuran en el archivo Web.config raíz.
A continuación, modificará el control Menu de la página maestra y agregará un elemento de menú que vincula a la página solo para miembros.
Para agregar un elemento de menú para la página solo para miembros
- En el Explorador de soluciones, haga doble clic en la página Site.master para abrirla y a continuación, cambie a la Vista de diseño.
- Seleccione el control Menu que contiene los elementos de menú Home y About y, a continuación, haga clic en la etiqueta inteligente del control de menú.
En Tareas de menú, haga clic en Editar elementos de menú… Se muestra el Editor de elementos de menú.- Bajo Elementos, haga clic en el botón Agregar un elemento de raíz en la barra de herramientas.En el árbol de menús se crea un nuevo elemento.
- Seleccione Nuevo elemento.
- En la ventana Propiedades del Editor de elementos de menú, establezca la propiedad Text en "Solo miembros".
- Haga clic en NavigateUrl y, a continuación, haga clic en el botón de puntos suspensivos (...).Aparecerá el cuadro de diálogo Seleccionar dirección URL.
- Bajo Carpetas de proyecto, haga clic en Cuenta.
- Debajo de Contenido de la carpeta, seleccione MembersOnly.aspx y, a continuación, haga clic enAceptar.
- Haga clic en Aceptar para cerrar el cuadro de diálogo.
- Guarde y cierre la página Site.master.
- En el Explorador de soluciones, haga clic con el botón secundario en la página Default.aspx y, a continuación, haga clic en Establecer como página principal.
Dado que todavía no tiene una cuenta, tiene que registrarse para iniciar sesión y obtener acceso a la página solo para miembros. Los usuarios anónimos pueden tener acceso a la página principal (Default.aspx) y la página About, pero no al contenido de la página maestra para usuarios autenticados. Tampoco está disponible para los usuarios anónimos el contenido de la carpeta Cuenta (excepto la página de registro y la página de inicio de sesión). Si los usuarios anónimos intentan tener acceso a contenido protegido, se les redirige a la página de inicio de sesión.
Para crear una nueva cuenta
- Presione CTRL+F5 para ejecutar el sitio.
- Haga clic en Solo miembros.Se muestra la página de inicio de sesión.
- Haga clic en Registrarse.Se muestra la página Register.aspx (Crear una nueva cuenta).
- Escriba la información solicitada.Por ejemplo, puede escribir ScottBrown como nombre de usuario, scott@example.com como correo electrónico y una contraseña. De forma predeterminada, la contraseña debe tener como mínimo seis caracteres. El nombre de usuario no requiere caracteres no alfanuméricos y la dirección de correo electrónico no tiene que ser única.
- Haga clic en Crear usuario.Al terminar el registro para una nueva cuenta, se le redirige a la página solo para miembros. Observe que su nombre de usuario se muestra junto a Cerrar sesión.
- Haga clic en Cerrar sesión.Se le redirige a la página principal.
- Cierre el explorador.
En esta sección creará un hipervínculo en la página principal para redirigir a los usuarios a la página de cambio de contraseña. Utilizará esta página para cambiar la contraseña después de iniciar sesión.
Para crear un vínculo a la página de cambio de contraseña
- En el Explorador de soluciones, haga doble clic en la página Site.master y cambie a la Vista de diseño.
- Desde el nodo Estándar del Cuadro de herramientas, arrastre un control HyperLink hacia la página maestra y colóquelo junto al hipervínculo Iniciar sesión.En esta parte del tutorial no importa dónde coloca el control HyperLink.
- En las ventanas Propiedades, cambie la propiedad Text a Cambiar contraseña. Puede aceptar el identificador predeterminado.
- En la ventana Propiedades, haga clic en NavigateUrl y, a continuación, en el botón de puntos suspensivos (…).Aparecerá el cuadro de diálogo Seleccionar dirección URL.
- Bajo Carpetas de proyecto, haga clic en Cuenta.
- Debajo de Contenido de la carpeta, seleccione ChangePassword.aspx y, a continuación, haga clic enAceptar.
- Presione CTRL+F5 para ejecutar la página.Observe que puede tener acceso al vínculo Cambiar contraseña si no ha iniciado sesión.
- Haga clic en Cambiar contraseña.Se le redirige a la página de inicio de sesión porque solamente los usuarios autenticados puede obtener acceso a la página de cambio de contraseña.
- Escriba el nombre de usuario y la contraseña que creó anteriormente y, a continuación, haga clic enIniciar sesión.Se muestra la página de cambio de contraseña.
- Haga clic en Cerrar sesión.
- Cuando vuelva a la página principal, cierre el explorador.
A continuación, modificará el hipervínculo Cambiar contraseña para que solo tengan acceso a él los usuarios que hayan iniciado sesión. Para esto agregará el hipervínculo al control HeadLoginView en la página maestra.
Para que el vínculo de cambio de contraseña solo esté disponible para los usuarios que inicien sesión
- En el Explorador de soluciones, haga doble clic en Site.master.aspx para abrirla y, a continuación, cambie a la Vista de diseño.
- Elimine el hipervínculo Cambiar contraseña que creó anteriormente.
- Cambie a la vista Código fuente.
- En el nodo Estándar del Cuadro de herramientas, arrastre un control HyperLink al elementoLoggedInTemplate situado dentro del control LoginView.
- Establezca la propiedad Text en Cambiar contraseña.
- Después del atributo runat="server", escriba "NavigateUrl =" y, a continuación, haga doble clic enSeleccionar URL… en la lista emergente.Se muestra el cuadro de diálogo Seleccionar elemento de proyecto.
- Bajo Carpetas de proyecto, haga clic en Cuenta.
- Debajo de Contenido de la carpeta, seleccione ChangePassword.aspx y, a continuación, haga clic enAceptar.El marcado del hipervínculo tendrá un aspecto similar al ejemplo siguiente:
<asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl="~/Account/ChangePassword.aspx"> Change Password </asp:HyperLink>Observe que este hipervínculo no será visible en la Vista de diseño, ya que el contenido del elementoLoggedInTemplate no resulta visible de forma predeterminada.
Ahora puede probar la funcionalidad de cambio de contraseña del sitio web.
Para probar la página de cambio de contraseña
- Presione CTRL+F5 para ejecutar el sitio.Se muestra la página principal, pero el vínculo Cambiar la contraseña no está visible.
- Haga clic en Iniciar sesión y escriba su nombre de usuario y contraseña.Se le redirige a la página principal. Observe que su nombre y el vínculo Cambiar la contraseña están ahora visibles.
- Haga clic en Solo miembros.Se le redirige a la página solo para miembros.
- Haga clic en Cambiar la contraseña.Se muestra la página de cambio de contraseña.
- Escriba una nueva contraseña.Haga clic en Cambiar contraseña. Si el cambio es correcto, se mostrará la página de cambio correcto.
Probar la nueva contraseña
A continuación utilizará su nueva contraseña para volver a iniciar sesión y obtener acceso a la página solo para miembros.
Para probar la nueva contraseña
- Haga clic en Cerrar sesión. Se le redirigirá a la página principal que ven los usuarios anónimos.
- Haga clic en Iniciar sesión.
- Escriba su nombre de usuario y la nueva contraseña y, a continuación, haga clic en Iniciar sesión.Se le redirige a la página principal. Ahora puede obtener acceso al contenido que está disponible para los usuarios autenticados. .
- Haga clic en Solo miembros.Se le redirige a la página solo para miembros. Si intenta iniciar sesión con la autenticación de contraseña anterior no podrá.
- Cierre el explorador.