La seguridad y autenticación de las aplicaciones ASP.NET WebPages están garantizadas a través del objeto WebSecurity. Esta sección presenta las propiedades, los métodos y los usos relacionados del objeto WebSecurity.
El objeto WebSecurity proporciona seguridad y autenticación para aplicaciones de páginas web ASP.NET.
A través del objeto WebSecurity, puede crear cuentas de usuario, iniciar y cerrar sesión de usuarios, restablecer o cambiar contraseñas y muchas más funciones relacionadas con la seguridad.
propiedad | describir |
---|---|
ID de usuario actual | Obtenga la ID del usuario que ha iniciado sesión actualmente. |
Nombre de usuario actual | Obtenga el nombre del usuario que ha iniciado sesión actualmente. |
Tiene ID de usuario | Devuelve verdadero si actualmente hay una ID de usuario. |
Está autenticado | Devuelve verdadero si el usuario actual ha iniciado sesión. |
método | describir |
---|---|
Cambiar la contraseña() | Cambie la contraseña del usuario especificado. |
Confirmar cuenta() | Confirme la cuenta utilizando el token de confirmación de cuenta. |
Crear una cuenta() | Crea una nueva cuenta de usuario. |
CrearUsuarioYCuenta() | Crea una nueva cuenta de usuario. |
Generar contraseñaResetToken() | Genera un token de restablecimiento de contraseña que se puede enviar al usuario en un correo electrónico para que pueda restablecer su contraseña. |
ObtenerCrearFecha() | Obtenga la hora de creación del miembro especificado. |
ObtenerContraseñaCambioFecha() | Obtenga la fecha y hora en que se cambió la contraseña. |
ObtenerID de usuario() | Obtenga la ID de usuario según el nombre de usuario. |
Inicializar conexión de base de datos() | Inicialice el sistema WebSecurity (base de datos). |
Está confirmado() | Compruebe si el usuario ha sido confirmado. Devuelve verdadero si se confirma. (La confirmación puede ser por correo electrónico, por ejemplo). |
EsUsuarioActual() | Comprueba si el nombre del usuario actual coincide con el nombre de usuario especificado. Si hay una coincidencia, devuelve verdadero. |
Acceso() | Configure el token de autenticación e inicie sesión como usuario. |
Cerrar sesión() | Elimine el token de autenticación y cierre la sesión del usuario. |
Requerir usuario autenticado() | Si el usuario no está autenticado, establece el estado HTTP en 401 (no autorizado). |
RequerirRoles() | Si el usuario actual no es miembro de la función especificada, establece el estado HTTP en 401 (no autorizado). |
Requerir usuario() | Si el usuario actual no es el usuario con el nombre de usuario especificado, establezca el estado HTTP en 401 (no autorizado). |
Restablecer contraseña() | Si el token de restablecimiento de contraseña es válido, cambie la contraseña del usuario por la nueva contraseña. |
El usuario existe() | Comprueba si el usuario especificado existe. |
nombre | valor |
---|---|
Clase | WebMatrix.WebData.WebSecurity |
Espacio de nombres | WebMatrix.WebData |
Asamblea | WebMatrix.WebData.dll |
Si desea utilizar objetos WebSecurity en su código, primero debe crear o inicializar la base de datos WebSecurity.
En su directorio raíz web, cree una página llamada _AppStart.cshtml (o edite la página directamente si ya existe).
Copie el siguiente código en el archivo:
@{ WebSecurity.InitializeDatabaseConnection("Usuarios", "Perfil de usuario", "Id. de usuario", "Correo electrónico", verdadero);
El código anterior se ejecutará cada vez que se inicie el sitio web (aplicación). Inicializa la base de datos de WebSecurity.
"Usuarios" es el nombre de la base de datos de WebSecurity (Users.sdf).
"UserProfile" es el nombre de la tabla de la base de datos que contiene información del perfil del usuario.
"UserId" es el nombre de la columna que contiene el ID de usuario (clave principal).
"Correo electrónico" es el nombre de la columna que contiene el nombre de usuario.
El último parámetro verdadero es un valor booleano, lo que indica que si la tabla de configuración del usuario y la tabla de membresía no existen, las tablas se crearán automáticamente. Si no desea crear automáticamente la tabla, debe establecer el parámetro en false .
![]() | Aunque verdadero significa que la tabla de la base de datos se creará automáticamente, la base de datos no se creará automáticamente. Entonces la base de datos debe existir. |
---|
La tabla UserProfile crea y guarda un registro para cada usuario, ID de usuario (clave principal) y nombre de usuario (correo electrónico):
ID de usuario | Correo electrónico |
---|---|
1 | [email protected] |
2 | [email protected] |
3 | [email protected] |
La tabla Membresía contiene información de membresía, como cuándo se creó el usuario, si el miembro se autenticó, cuándo se autenticó el miembro, etc.
Los detalles son los siguientes (algunas columnas no se muestran):
ID de usuario | Crear fecha | Ficha de confirmación | esta confirmado | Fallo de la última contraseña | Contraseña | Cambio de contraseña |
---|---|---|---|---|---|---|
1 | 12.04.2012 16:12:17 | NULO | Verdadero | NULO | AFNQhWfy.... | 12.04.2012 16:12:17 |
Nota: Si desea ver todas las columnas y contenidos, abra la base de datos y observe cada tabla que contiene.
Cuando utiliza el objeto WebSecurity, si su sitio no está configurado para utilizar el sistema de membresía de páginas web ASP.NET SimpleMembership , se puede informar un error.
También pueden ocurrir errores si el servidor del proveedor de alojamiento está configurado de manera diferente a su servidor local. Para resolver este problema, agregue el siguiente elemento al archivo Web.config de su sitio web:
<appSettings> <add key="enableSimpleMembership" value="true" /> </appSettings>
Lo anterior es una introducción al objeto WebSecurity.