Проблема сеанса без файлов cookie MVC2 с использованием POST - PullRequest
3 голосов
/ 20 октября 2010

По какой-то причине при включенном сеансе без файлов cookie в MVC2 идентификатор сеанса в строке запроса сбрасывается при каждой отправке сообщения формы.Есть ли специальный маршрут, который нужно настроить, чтобы он работал?

Есть ли еще какие-то ошибки, о которых мне нужно знать?

Спасибо.

Ответы [ 3 ]

4 голосов
/ 20 октября 2010

Сеансы Cookie не работают в MVC2, однако вы не можете использовать POST в качестве метода для отправки формы.Он поддерживает только использование GET.Кроме того, все пути действий в формах необходимо обновить в соответствии со следующим шаблоном:

<form action="<%= Response.ApplyAppPathModifier("/SomeController/SomeAction") %>" method="get">

Это обеспечит автоматическую передачу идентификатора сеанса.Эта строка необходима в файле web.config для включения сеансов без файлов cookie:

<system.web>
    <sessionState cookieless="true" regenerateExpiredSessionId="true"></sessionState>
</system.web>

С этими двумя изменениями все работает!

Если вы заинтересованы в обходном пути получения POSTчтобы работать с сессией Cookieless и MCV2, я нашел следующую страницу. Включение POST в Cookieless ASP.NET Это не очень подходило для моего проекта, потому что я не могу использовать JavaScript.

1 голос
/ 20 октября 2010

Сеансы Cookie не поддерживаются в MVC 2 и вряд ли будут поддерживаться в будущих версиях MVC. См. http://forums.asp.net/p/1517391/3738312.aspx для получения дополнительной информации.

0 голосов
/ 21 октября 2010

Бюллетень по безопасности Microsoft MS10-070 - Важное: Уязвимость в ASP.NET делает возможным раскрытие информации (2418042)

Если установлено это обновление, установите этот флажок.

Настройки реестра Http.sys для IIS

Использовать автоматическую вставку аутентификации сеанса и формы без вставки этого ("/ (S (...) F (...)) /") URLотрезок пути.UrlSegmentMaxLength по умолчанию - 260, но MS10-070 установил среду над этим. Я думаю, что это результат для отступления оракула.

Надеюсь, эта помощь!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...