2009-07-31 15 views
10

Duplicar posible:
asp.net membership IsApproved false but still allowing loginen asp.net Lo que diferencia Request.IsAuthenticated = true

Estoy teniendo un registro de usuario, pero IsApproved es falso, pero al comprobar que Request.IsAuthenticated todavía regresa verdadero.

¿Sabes cómo puede pasar esto?

+0

http://stackoverflow.com/questions/1212503/asp-net-membership-isapproved-false-but-still-allowing-login –

+0

He pedido al OP que elimine su otra pregunta, ya que esta terminó siendo marcado con una respuesta. –

Respuesta

18

HttpRequest.IsAuthenticated devuelve verdadero si HttpContext.User.Identity no es nulo y su propiedad IsAuthenticated devuelve verdadero.

La identidad actual se establece en FormsAuthenticationModule, pero no tiene nada que ver con su MembershipProvider. De hecho, ni siquiera lo referencia. Todo lo que hace es verificar si la cookie de autenticación todavía está configurada y sigue siendo válida (como si no hubiera caducado).

Creo que el problema es que está llamando a uno de los métodos FormsAuthentication como RedirectFromLoginPage, que es la configuración de la cookie de autenticación. Si necesita esperar hasta que el usuario sea aprobado, entonces debe asegurarse de no configurar la cookie.

+0

gracias. . Me acabo de dar cuenta de que la llamada al formulario estaba en el código después de que el éxito de membresía fue verdadero – leora

+0

Elimine su otra pregunta - http://stackoverflow.com/questions/1212503/asp-net-membership-isapproved-false-but-still-allowing -login/1212868 # 1212868 –

Cuestiones relacionadas