Я создал новый сайт ASP.NET MVC 3 / .NET Framework 4.0, используя шаблон «Интернет-приложение».Я использовал Nuget для установки пакета Windows Azure Web Role (MVC3) , а затем следовал пошаговому описанию Служба контроля доступа для настройки Windows Live ID и аутентификации Google.
Вскоре я наткнулся на ошибку «Потенциально опасная величина Request.Form была обнаружена на клиенте» и, следуя статье в вики Windows Identity Foundation , попытался ее устранить.К сожалению, ничего из того, что я пробовал, не работает, включая:
Установка <httpRuntime requestValidationMode="2.0"/>
и <pages validateRequest="false">
в корневом каталоге web.config и Views \ web.config
Копирование SampleRequestValidator
из WIF SDK в проект и установка <httpRuntime requestValidationType="SampleRequestValidator"/>
в обоих файлах web.configs
Я также безуспешно пробовал их варианты.
Есть идеи?
Вот полное исключение:
Сведения об исключении: System.Web.HttpRequestValidationException: Aпотенциально опасное значение Request.Form было обнаружено от клиента (wresult = "<t:RequestSecurityTo...
").
Описание: Проверка запроса обнаружила потенциально опасное входное значение клиента, и обработказапрос был прерван.Это значение может указывать на попытку поставить под угрозу безопасность вашего приложения, например атаку с использованием межсайтовых сценариев.Чтобы страницы могли переопределять параметры проверки запросов приложения, установите для атрибута requestValidationMode в разделе конфигурации httpRuntime значение requestValidationMode = "2.0".Пример: <httpRuntime requestValidationMode="2.0" />
.После установки этого значения вы можете отключить проверку запроса, установив validateRequest = "false" в директиве Page или в разделе конфигурации <pages>
.Тем не менее, настоятельно рекомендуется, чтобы ваше приложение явно проверило все входные данные в этом случае.Для получения дополнительной информации см. http://go.microsoft.com/fwlink/?LinkId=153133.
Трассировка стека:
[HttpRequestValidationException (0x80004005): потенциально опасное значение Request.Form было обнаружено от клиента(wresult = "<t:RequestSecurityTo...
").]
System.Web.HttpRequest.ValidateString(String value, String collectionKey, RequestValidationSource requestCollection) +8755668
System.Web.HttpRequest.ValidateNameValueCollection(NameValueCollection nvc, RequestValidationSource requestCollection) +122
System.Web.HttpRequest.get_Form() +114
Microsoft.IdentityModel.Web.WSFederationAuthenticationModule.IsSignInResponse(HttpRequest request) +75
Microsoft.IdentityModel.Web.WSFederationAuthenticationModule.CanReadSignInResponse(HttpRequest request, Boolean onPage) +205
Microsoft.IdentityModel.Web.WSFederationAuthenticationModule.CanReadSignInResponse(HttpRequest request) +41
Microsoft.IdentityModel.Web.WSFederationAuthenticationModule.OnAuthenticateRequest(Object sender, EventArgs args) +117
System.Web.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +148
System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +75