0

Я был бы плохое поведение в разное время с помощью этого:Избегайте ручную настройку FormsAuthentication печенья

FormsAuthentication.SetAuthCookie(user.UserName, true); 

Как/будет .Net установить кук иначе?

Я попытался это: (System.Web.HttpContext.Current.User.Identity.IsAuthenticated fails sometimes)

Но мой User.Identity.IsAuthenticated всегда ложно

Что это дает?

+0

Причина, по которой SetAuthCookie не работает, заключается в том, что в веб-конфигурации не поддерживается авторизация формы. Включите настройку follwoing в своей веб-конфигурации в тегах system.web: '' – Sunil

+0

У меня всегда было это, и в основном это работало – cdub

+1

Помните, что вы также можете установить cookie, просто называя 'FormsAuthentication.RedirectFromLoginPage' метод, который установит аутентификационный билет/файл cookie, а также перенаправит использование на запрашиваемый URL-адрес или URL-адрес по умолчанию. – Sunil

ответ

0

Прежде всего убедитесь, что аутентификация форм включена в вашем файле веб-конфигурации.

<authentication mode="Forms" /> 

Используйте код, как показано ниже, чтобы заставить его работать. Метод RedirectFromLoginPage создаст файл cookie аутентификации, а также перенаправит пользователя на исходную страницу или на домашнюю страницу по умолчанию, т.е. на домашнюю страницу.

if (Membership.ValidateUser(userName, password))//or whatever method you use 
{ 
    // Log the user into the site 
    FormsAuthentication.RedirectFromLoginPage(userName, false); 
}