Domanda

Ho un accesso di controllo Net con un gestore di eventi per onloggedin.

onloggedin="Login2_LoggedIn"

Tuttavia User.Identity è sempre nullo.

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

E 'dovrebbe essere disponibile a questo punto? O dovrei ottenere il nome utente dall'oggetto mittente o EventArgs e?

È stato utile?

Soluzione

Page.User non è disponibile fino a quando i messaggi pagina indietro dopo l'autenticazione, quindi è nulla sulla pagina che ospita il controllo login. Tuttavia, è ancora possibile chiamare il metodo utilizzando la proprietà UserName del controllo di accesso. Questo è sicuro di fare nel gestore di eventi LoggedIn perché l'utente è stato autenticato a questo punto.

if (Roles.IsUserInRole(Login2.UserName, "admin"))
...
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top