Необходим ли User.Identity.IsAuthenticated?

Некоторое время я занимался некоторыми вещами с ASP.NET MVC, но мне было интересно, какую пользу имеет User.Identity.IsAuthenticated - мне всегда нужно проверять это, прежде чем я доверяю User.Identity.Name, или IsAuthenticated бесполезен в этот сценарий?

Должен ли я сделать что-то вроде:

public string GetUserName()
{
    if (User.Identity.IsAuthenticated)
        return User.Identity.Name;
    else
        return null;
}

Или:

public string GetUserName()
{
    return User.Identity.Name;
}

быть в порядке? Я обычно использую первый способ (проверка просто для уверенности), но я никогда не понимал, нужно ли это (насколько я могу судить, шаблон MVC 5 по умолчанию проверяет его только для того, чтобы увидеть, вошел ли пользователь в систему).

Спасибо!


person MatthewSot    schedule 07.12.2013    source источник
comment
Вы написали один и тот же код дважды.   -  person dee-see    schedule 07.12.2013
comment
ой... хотел удалить часть, спасибо xD   -  person MatthewSot    schedule 07.12.2013


Ответы (1)


Для анонимного пользователя (User.Identity.IsAuthenticated == false) User.Identity.Name вернет пустую строку, поэтому вам, вероятно, не нужна проверка, если вы действительно не хотите возвращать null из своего метода.

Теперь, может ли User.Identity.IsAuthenticated == false произойти на данной странице, полностью зависит от того, как вы реализуете аутентификацию в своем приложении.

person dee-see    schedule 07.12.2013