Asp.net la autenticación de formularios con funciones


la autenticación de Formularios no permitir que las funciones de autenticación. En este artículo se explica cómo ponerlo en práctica. & nbsp

formas Básicas de autenticación

autenticación basada en Formularios en ASP.NET es bastante útil. & nbsp Lugar de escribir nuestros propios procesos de autenticación podemos simplemente cambiar la web.config debajo del sistema.web como....


& nbsp & nbsp & nbsp & nbsp name='MyWebsiteCookieName'
& nbsp & nbsp & nbsp loginUrl='/inicio de Sesión.aspx'
& nbsp & nbsp & nbsp protección='All'
& nbsp & nbsp & nbsp timeout='180'
& nbsp />

  • El modo de autenticación es el conjunto de Formularios.
  • UNA URL para que se ASP.NET sabe dónde redirigir a la gente que necesita de registro.
  • Un tiempo de espera especificado en minutos. & nbsp Esto es ... nbsp 'tiempo desde la última petición', no el 'tiempo desde inicio de sesión'. & nbsp Si un inicio de sesión está indicado para ser persistente (descrito más adelante) esto es ignorado.
  • Un método de protección es especificado por la cookie.

a continuación he querido especificar una carpeta para que el acceso es restringido a personas que han iniciado sesión en. & nbsp Para ello he introducido el código siguiente en la web.archivo de configuración (por debajo de )...


& nbsp
& nbsp & nbsp & nbsp
& nbsp & nbsp & nbsp & nbsp & nbsp
& nbsp & nbsp & nbsp

& nbsp

Este le dice ASP.NET que la ruta '/Miembros' (el plomo es siempre implícita) debe denegar el acceso a todos los usuarios desconocidos. & nbsp Cuando alguien intenta acceder a una página en /a los Miembros que en lugar de ser redirigido a la de inicio de sesión.aspx dirección URL especificada en la web.config.

Este inicio de Sesión.formulario aspx debe pedir las credenciales que usted desea (nombre de usuario/contraseña, por ejemplo) y validarlos. & nbsp una Vez que han sido validados usted sólo tiene que ejecutar el siguiente código para que el usuario redirigido a la página a la que originalmente estaban tratando de acceder a...

Sistema.Web.De seguridad.FormsAuthentication.RedirectFromLoginPage(userId, false)

El nombre de usuario es el identificador único para el usuario actual (nombre de usuario), y el segundo parámetro Booleano que indica si esta debe ser una persistente cookie de seguridad, o uno temporal (con vencimiento desde la última petición de la página), como se mencionó anteriormente.

Funciones

fue en ese momento que me di cuenta de que necesitaba un especial /de la carpeta Admin. & nbsp Esta carpeta debe ser accedida únicamente por los administradores, y no de los usuarios normales. & nbsp Para esta era obvio que necesitaba funciones en la web.config (por debajo de ) como así...


& nbsp
& nbsp
& nbsp & nbsp
& nbsp & nbsp
& nbsp

& nbsp

Nota: El fin de permitir/negar, es importante. & nbsp Si usted niega * (todos los usuarios) antes de permitir que el rol de Administrador, nadie tendrá acceso a la carpeta.

El problema aquí es que usted consigue solamente las funciones cuando el modo de autenticación='Windows'. & nbsp De este modo cada usuario necesita un válido de la cuenta de usuario de Windows en el servidor. & nbsp No es una buena solución.

por Suerte me encontré con un interesante artículo de MSDN. & nbsp Cuando autenticar el usuario en el inicio de Sesión.aspx formulario a continuación, usted debe trabajar con las funciones que el usuario pertenece a...

si (autor.IsAdministrator)
& nbsp roles = new string[] {'Admin', 'Miembro'}
else
& nbsp roles = new string[] {'Miembro'}

//1 hora de deslizamiento tiempo de expiración
Caché.Agregar(autor.UniqueId, roles, null, DateTime.MaxValue,
intervalo de tiempo.FromHours(1), CacheItemPriority.BelowNormal, null)

he creado una matriz de string que contiene las funciones que el usuario posee. & nbsp Estos se guardan & nbsp en la Aplicación de[] de la colección por motivos de rendimiento, de lo contrario tendríamos que tener una base de datos de acceso cada vez que queríamos obtener los roles del usuario actual.

Ahora, debido a que los Formularios de autenticación no tiene el concepto de Funciones de nunca ir en la corriente del usuario de la cookie. & nbsp Así que debemos determinar cuál de estos roles son cada vez de autenticación se ejecuta. & nbsp Para ello tenemos que ir al mundial.asax archivo...

protected void Application_AuthenticateRequest(
& nbsp Object sender, EventArgs e)
{
& nbsp si (HttpContext.Actual.Usuario != null)
& nbsp {
& nbsp si (HttpContext.Actual.Usuario.De la identidad.AuthenticationType != 'Formas')
& nbsp & nbsp throw new Exception('Sólo la autenticación de formularios es compatible, no'
& nbsp & nbsp & nbsp & nbsp HttpContext.Actual.Usuario.De la identidad.AuthenticationType)

& nbsp Sistema.De seguridad.Director.IIdentity userId =
& nbsp & nbsp & nbsp HttpContext.Actual.Usuario.Identidad

& nbsp //¿tenemos algunos papeles para recuperar? & nbsp Si es así, reemplace el objeto de usuario
& nbsp si (Aplicación de[id de usuario.Nombre] != null)
& nbsp & nbsp HttpContext.Actual.Usuario = new System.De seguridad.Director.GenericPrincipal(
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp userId (string[]) Cache[userId.Nombre]
& nbsp & nbsp )
& nbsp }//usuario != null
}

Esta rutina comprueba que el usuario actual != null. & nbsp Esto significa que la página está en un lugar protegido. & nbsp Si este es el caso, entonces debemos utilizar el nombre de usuario como la clave para la Caché[] colección para encontrar una lista de funciones. & nbsp Si estas funciones existe, lo reasignar el Usuario actual con un objeto que creamos nosotros mismos, un objeto que contiene una lista de funciones.

Conclusión

PARA ASP NET DESARROLLO, basado en las funciones de seguridad es muy útil en aplicaciones web. & nbsp Con unas simples líneas de código es posible implementar basado en funciones de seguridad para los usuarios sin una válida de Windows de inicio de sesión.









Asp.net la autenticacion de formularios con funciones


Asp.net la autenticacion de formularios con funciones : Multi-millones de consejos para hacer su vida mas facil.


la autenticacion de Formularios no permitir que las funciones de autenticacion. En este articulo se explica como ponerlo en practica. & nbsp

formas Basicas de autenticacion

autenticacion basada en Formularios en ASP.NET es bastante util. & nbsp Lugar de escribir nuestros propios procesos de autenticacion podemos simplemente cambiar la web.config debajo del sistema.web como....


& nbsp & nbsp & nbsp & nbsp name='MyWebsiteCookieName'
& nbsp & nbsp & nbsp loginUrl='/inicio de Sesion.aspx'
& nbsp & nbsp & nbsp proteccion='All'
& nbsp & nbsp & nbsp timeout='180'
& nbsp />

  • El modo de autenticacion es el conjunto de Formularios.
  • UNA URL para que se ASP.NET sabe donde redirigir a la gente que necesita de registro.
  • Un tiempo de espera especificado en minutos. & nbsp Esto es ... nbsp 'tiempo desde la ultima peticion', no el 'tiempo desde inicio de sesion'. & nbsp Si un inicio de sesion esta indicado para ser persistente (descrito mas adelante) esto es ignorado.
  • Un metodo de proteccion es especificado por la cookie.

a continuacion he querido especificar una carpeta para que el acceso es restringido a personas que han iniciado sesion en. & nbsp Para ello he introducido el codigo siguiente en la web.archivo de configuracion (por debajo de )...


& nbsp
& nbsp & nbsp & nbsp
& nbsp & nbsp & nbsp & nbsp & nbsp
& nbsp & nbsp & nbsp

& nbsp

Este le dice ASP.NET que la ruta '/Miembros' (el plomo es siempre implicita) debe denegar el acceso a todos los usuarios desconocidos. & nbsp Cuando alguien intenta acceder a una pagina en /a los Miembros que en lugar de ser redirigido a la de inicio de sesion.aspx direccion URL especificada en la web.config.

Este inicio de Sesion.formulario aspx debe pedir las credenciales que usted desea (nombre de usuario/contraseña, por ejemplo) y validarlos. & nbsp una Vez que han sido validados usted solo tiene que ejecutar el siguiente codigo para que el usuario redirigido a la pagina a la que originalmente estaban tratando de acceder a...

Sistema.Web.De seguridad.FormsAuthentication.RedirectFromLoginPage(userId, false)

El nombre de usuario es el identificador unico para el usuario actual (nombre de usuario), y el segundo parametro Booleano que indica si esta debe ser una persistente cookie de seguridad, o uno temporal (con vencimiento desde la ultima peticion de la pagina), como se menciono anteriormente.

Funciones

fue en ese momento que me di cuenta de que necesitaba un especial /de la carpeta Admin. & nbsp Esta carpeta debe ser accedida unicamente por los administradores, y no de los usuarios normales. & nbsp Para esta era obvio que necesitaba funciones en la web.config (por debajo de ) como asi...


& nbsp
& nbsp
& nbsp & nbsp
& nbsp & nbsp
& nbsp

& nbsp

Nota: El fin de permitir/negar, es importante. & nbsp Si usted niega * (todos los usuarios) antes de permitir que el rol de Administrador, nadie tendra acceso a la carpeta.

El problema aqui es que usted consigue solamente las funciones cuando el modo de autenticacion='Windows'. & nbsp De este modo cada usuario necesita un valido de la cuenta de usuario de Windows en el servidor. & nbsp No es una buena solucion.

por Suerte me encontre con un interesante articulo de MSDN. & nbsp Cuando autenticar el usuario en el inicio de Sesion.aspx formulario a continuacion, usted debe trabajar con las funciones que el usuario pertenece a...

si (autor.IsAdministrator)
& nbsp roles = new string[] {'Admin', 'Miembro'}
else
& nbsp roles = new string[] {'Miembro'}

//1 hora de deslizamiento tiempo de expiracion
Cache.Agregar(autor.UniqueId, roles, null, DateTime.MaxValue,
intervalo de tiempo.FromHours(1), CacheItemPriority.BelowNormal, null)

he creado una matriz de string que contiene las funciones que el usuario posee. & nbsp Estos se guardan & nbsp en la Aplicacion de[] de la coleccion por motivos de rendimiento, de lo contrario tendriamos que tener una base de datos de acceso cada vez que queriamos obtener los roles del usuario actual.

Ahora, debido a que los Formularios de autenticacion no tiene el concepto de Funciones de nunca ir en la corriente del usuario de la cookie. & nbsp Asi que debemos determinar cual de estos roles son cada vez de autenticacion se ejecuta. & nbsp Para ello tenemos que ir al mundial.asax archivo...

protected void Application_AuthenticateRequest(
& nbsp Object sender, EventArgs e)
{
& nbsp si (HttpContext.Actual.Usuario != null)
& nbsp {
& nbsp si (HttpContext.Actual.Usuario.De la identidad.AuthenticationType != 'Formas')
& nbsp & nbsp throw new Exception('Solo la autenticacion de formularios es compatible, no'
& nbsp & nbsp & nbsp & nbsp HttpContext.Actual.Usuario.De la identidad.AuthenticationType)

& nbsp Sistema.De seguridad.Director.IIdentity userId =
& nbsp & nbsp & nbsp HttpContext.Actual.Usuario.Identidad

& nbsp //¿tenemos algunos papeles para recuperar? & nbsp Si es asi, reemplace el objeto de usuario
& nbsp si (Aplicacion de[id de usuario.Nombre] != null)
& nbsp & nbsp HttpContext.Actual.Usuario = new System.De seguridad.Director.GenericPrincipal(
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp userId (string[]) Cache[userId.Nombre]
& nbsp & nbsp )
& nbsp }//usuario != null
}

Esta rutina comprueba que el usuario actual != null. & nbsp Esto significa que la pagina esta en un lugar protegido. & nbsp Si este es el caso, entonces debemos utilizar el nombre de usuario como la clave para la Cache[] coleccion para encontrar una lista de funciones. & nbsp Si estas funciones existe, lo reasignar el Usuario actual con un objeto que creamos nosotros mismos, un objeto que contiene una lista de funciones.

Conclusion

PARA ASP NET DESARROLLO, basado en las funciones de seguridad es muy util en aplicaciones web. & nbsp Con unas simples lineas de codigo es posible implementar basado en funciones de seguridad para los usuarios sin una valida de Windows de inicio de sesion.


Asp.net la autenticación de formularios con funciones

Asp.net la autenticación de formularios con funciones : Multi-millones de consejos para hacer su vida más fácil.
Recommander aux amis
  • gplus
  • pinterest

Comentario

Dejar un comentario

Clasificación