#c# #webforms #.net-4.0
#c# #веб-формы #.net-4.0
Вопрос:
c #, .net4, webforms
Я создаю, если кто-то забудет пароль. Системный администратор может отправить ссылку на электронную почту клиентов, они могут щелкнуть по ней, войти в систему и заставить их обновить свой профиль. У меня все работает и проверяется. Теперь я не понимаю (все еще читаю), как создать HttpContext.Current.User.Идентификация.IsAuthenticated == true; после того, как мой метод вернет true, что пользователь проверен, и разрешите ввести информацию из URL-адреса этого пользователя. Я знаю, что что-то упускаю или не понимаю, как это работает.
В любом случае, спасибо за помощь
Комментарии:
1. Пожалуйста, предоставьте некоторый код — как выглядит ваш метод, который вы хотите установить
HttpContext.Current.User.Identity.IsAuthenticated == true;
?2. вы хотите передать имя пользователя и пароль сброса в строке запроса url и принять это к отправке на ваш запрос на вход, но это небезопасно, если вы не кодируете / не шифруете строку запроса и не делаете ее нечитаемой для конечного пользователя. Вы также должны учитывать другие проблемы безопасности, которые я здесь не опубликовал.
3. Это я рассмотрел. Он зашифрован. Просто взглянув на URL-адрес, вы не узнаете, что это такое, Vignesh.N
4. Я думал, что мне просто нужно, чтобы он установил FormsAuthentication. SetAuthCookie(verifiedUser, true); Но пользователь. Идентификация. Значение IsAuthenticated по-прежнему равно false
5. Я понимаю. Если я обновил страницу. Я смог войти в систему .. странно .. как будто он не видит его при первой загрузке
Ответ №1:
Если кому-то это нужно
if (verifiedUser != "0")
{
//if user is verified
FormsAuthentication.SetAuthCookie(verifiedUser, true);
var LoginType = HttpContext.Current.User.Identity.AuthenticationType;
if (!User.Identity.IsAuthenticated)
{
Response.Redirect(Request.RawUrl);
}
}
Работает для моей проблемы.