.Net Логин в onloggedin, является ли User.Identity нулевым? - PullRequest
2 голосов
/ 23 декабря 2009

У меня есть .Net Login Control с обработчиком событий для onloggedin.

onloggedin="Login2_LoggedIn"

Однако User.Identity всегда нулевой.

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

Должен ли он быть доступен в этот момент? Или я должен получить имя пользователя от отправителя объекта или EventArgs e?

1 Ответ

8 голосов
/ 31 декабря 2009

Page.User недоступен до тех пор, пока страница не вернется после аутентификации, поэтому на странице, на которой размещен элемент управления входом в систему, значение равно нулю. Однако вы все равно можете вызвать метод, используя свойство UserName элемента управления для входа. Это безопасно сделать в обработчике событий LoggedIn, поскольку на этом этапе пользователь прошел аутентификацию.

if (Roles.IsUserInRole(Login2.UserName, "admin"))
...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...