Puedes descargar el código aquí.
En este post voy a explicar cómo crear una aplicación Web en la que existirá una sección segura. La autenticación vía formulario se suele utilizar para securizar el acceso a una determinada página (o grupo de páginas) a usuario no autenticados.
Las páginas a las que deseas restringir el acceso pueden ser las páginas de administración de tu sitio Web. Sigue los pasos siguientes:
Paso 1 - Creación de página de login:
- Crea un nuevo proyecto desde Visual Studio (Sitio Web o Aplicación Web)
- Añade una página "Login.aspx".
- Agrega un control asp:login a la página "Login.aspx".
- Implementación del evento Authenticate del control de Login.
protected { bool authenticated = AuthenticateMe(Login1.UserName, Login1.Password, Login1.RememberMeSet);
{
} } private { //Se trata de un hardcode, en un caso real la validación se hará contra una base de datos string localUserName = "admin"; string localPassword = "1234"; if (userName.Equals(localUserName) && password.Equals(localPassword)) {return true;} else{return false;} } |
Paso 2 - Modificación del Web.config:
- En este paso se modifica el Web.config para indicar la url por defecto del sitio (defaultUrl), la url de la página de login (loginUrl), se indica si la sesión segura espira (slidingExpiration) y el timeout en minutos.
<system.web> <authentication <forms </authentication> <authorization> </authorization> </system.web> |
Paso 3 - Creación de un directorio seguro:
Dentro de este directorio se encontrarán aquellas páginas cuyo acceso se quiere restringir.
- Crea una nueva carpeta dentro de tu proyecto (p.e: Secure).
- Dentro de este directorio añade una página (p.e: Administracion.aspx).
- Añade un Web.config dentro de esta carpeta e incluye el siguiente contenido en el mismo.
<?xml version="1.0" encoding="utf-8"?> <configuration> <appSettings/> <connectionStrings/> <system.web> <authorization> <deny users="?"/> </authorization> </system.web> </configuration> |
Paso 4 - Ejecuta tu aplicación:
Selecciona la página Administracion.aspx como página de inicio y pulsa F5. Serás redireccionado a la página de Login, una vez hayas introducido las credenciales correctas, la página de login re redireccionará hasta la página de Administracion.aspx
Puedes descargar el código aquí.
genial genial!! le doy un diez al post!!
ResponderEliminarPues no tan genial, porque no va. En cambio si lo hago creando un login propio y con FormsAuthenticationTicket si va. Genio?
ResponderEliminarY sabse por qué no va, genio?. Porque la contraseña tiene que tener un mínimo de 6 caracteres, genio
ResponderEliminarMuy buen post, tambien funciona con variables de session para redireccionar si la autentificacion fue falsa. Saludos.
ResponderEliminarbuen aporte una pregunta como cambio la ruta de redireccion en ves de que diga acount/login.aspx
ResponderEliminarque diga Sesion.aspx