Pergunta

Eu tenho um controle de login .NET com um manipulador de eventos para o onloggedin.

onloggedin="Login2_LoggedIn"

No entanto, user.Identity é sempre nulo.

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

Deve estar disponível neste momento?Ou devo obter o nome de usuário do remetente do objeto ou EventArgs e?

Foi útil?

Solução

Page.User não está disponível até que a página poste novamente após a autenticação, por isso é nulo na página que hospeda o controle de login. No entanto, você ainda pode chamar o método usando a propriedade de nome de usuário do controle de login. É seguro fazer no manipulador de eventos Loggedin porque o usuário foi autenticado neste momento.

if (Roles.IsUserInRole(Login2.UserName, "admin"))
...
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top