Я создал новый сайт ASP.NET MVC 3/.NET Framework 4.0, используя шаблон "Интернет-приложение". Я использовал Nuget для установки пакета Веб-роли Windows Azure (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: от клиента было обнаружено потенциально опасное значение 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