Pregunta

Tengo una sesión de control .Net con un controlador de eventos para onloggedin.

onloggedin="Login2_LoggedIn"

Sin embargo User.Identity siempre es nula.

 protected void Login2_LoggedIn(object sender, EventArgs e)
{
    // Is User is Admin
    if (Roles.IsUserInRole(User.Identity.Name, "admin"))

¿Se supone que estará disponible en este momento? O debería obtener el nombre de usuario del remitente objeto o EventArgs e?

¿Fue útil?

Solución

Page.User no está disponible hasta las página envía después de la autenticación, por lo que es nula en la página que aloja el control de acceso. Sin embargo, todavía se puede llamar al método mediante el uso de la propiedad UserName del control de acceso. Esto es seguro hacerlo en el controlador de eventos loggedin debido a que el usuario ha sido autenticado en este punto.

if (Roles.IsUserInRole(Login2.UserName, "admin"))
...
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top