EDIT: Я не знал, что новые проекты MVC5 по умолчанию были удалены с удалением формы (модуль удален), поэтому убедитесь, что вы также проверяете комментарий DSR под своим исходным сообщением в конъюнктуре со всем этим.
Проверьте web.config и найдите раздел аутентификации, он должен выглядеть примерно так,
<authentication mode="Forms">
<forms loginUrl="..." cookieless="UseCookies" />
</authentication>
http://msdn.microsoft.com/en-us/library/1d3t3c61%28v=vs.85%29.aspx
значение Cookieless по умолчанию является «UseDeviceProfile», что означает, что куки используются, если браузер сообщает, что он поддерживает файлы cookie, в противном случае файлы cookie не используются, и он использует значения в querystring для поддержания аутентифицированного состояния (которое необходимо сохранить через обратную передачу).
Во-вторых, убедитесь, что файлы cookie включены в вашем браузере. Если устройство/браузер не поддерживает куки или они выключены, то SetAuthCookie будет вносить изменения в URL, но вы должны перенаправить браузер после вызова SetAuthCookie, используя ...
FormsAuthentication.RedirectFromLoginPage(String, Boolean)...
Этот метод перенаправляет страницы до места назначения после аутентификации с помощью SetAuthCookie. RedirectFromLoginPage поместит необходимые атрибуты в запрос url для поддержки сеанса входа в систему через обратную передачу. Если вы делаете свои собственные переадресации на сайте здесь и там, вам нужно будет поддерживать этот параметр запроса url перед отправкой назад, проверяя, проверен ли текущий пользователь с HttpContext.Current.User.Identity.IsAuthenticated.
Для того, чтобы отправить своих пользователей на страницу входа в систему вы должны использовать
FormsAuthentication.RedirectToLoginPage()
Этот метод будет добавить параметр ReturnUrl в строке запроса, который позже функция «RedirectFromLoginPage» перенаправляет обратно после того, как проверку подлинности.
Если вы заблокировали доступ к пользователям или ролям с элементами местоположения в вашем web.config к путям и ресурсам Forms Authentication автоматически обрабатывает перенаправление на страницу входа в систему, когда пользователь, не прошедший проверку подлинности, пытается получить к ним доступ.
<location path="SomeFolderOnYourSite">
<system.web>
<authorization>
<deny users="?"/>
<allow roles="Administrators"/>
</authorization>
</system.web>
</location>
MVC5 больше не использует проверку подлинности форм, проверьте web.config для <удалите имя = "FormsAuthentication" /> . если вы хотите его использовать, следуйте этой статье, вы можете использовать owin для ее обработки. http://blogs.msdn.com/b/webdev/archive/2013/07/03/understanding-owin-forms-authentication-in-mvc-5.aspx –
DSR
После некоторого исследования OWIN кажется, что это лучше вариант, видя, как Microsoft идет в этом направлении для MVC 6. Я использовал [Идентификация ASP.NET без базы данных] (https://github.com/leeenglestone/ASP.NET-Identity-Without-a-Database) как пример аутентификации и авторизации. Это намного сложнее, чем простой «SetAuthCookie», но он кажется более надежным в будущем. – user655321
Человек, это куча doo doo. Почему Microsoft делает это дерьмо? – Hill