Parte Confiante do ADFS

1

Estou tentando configurar uma Terceira Parte do Serviço de Federação do Active Directory e recebo o seguinte erro.

Eu tentei modificar a página para permitir <pages validateRequest="false"> para web.config e isso não faz diferença.

Alguém pode me ajudar?

Erro do servidor no aplicativo '/ test'.

A potentially dangerous Request.Form value was detected from the client (wresult="<t:RequestSecurityTo..."). 
Description: Request Validation has detected a potentially dangerous client input value, and processing of the request has been aborted. This value may indicate an attempt to compromise the security of your application, such as a cross-site scripting attack. To allow pages to override application request validation settings, set the requestValidationMode attribute in the httpRuntime configuration section to requestValidationMode="2.0". Example: <httpRuntime requestValidationMode="2.0" />. After setting this value, you can then disable request validation by setting validateRequest="false" in the Page directive or in the <pages> configuration section. However, it is strongly recommended that your application explicitly check all inputs in this case. For more information, see http://go.microsoft.com/fwlink/?LinkId=153133. 

Exception Details: System.Web.HttpRequestValidationException: A potentially dangerous Request.Form value was detected from the client (wresult="<t:RequestSecurityTo...").

Source Error: 

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.  

Stack Trace: 

[HttpRequestValidationException (0x80004005): A potentially dangerous Request.Form value was detected from the client (wresult="<t:RequestSecurityTo...").]
System.Web.HttpRequest.ValidateString(String value, String collectionKey, RequestValidationSource requestCollection) +11309476
System.Web.HttpRequest.ValidateNameValueCollection(NameValueCollection nvc, RequestValidationSource requestCollection) +82
System.Web.HttpRequest.get_Form() +186

Microsoft.IdentityModel.Web.WSFederationAuthenticationModule.IsSignInResponse(HttpRequest request) +26

Microsoft.IdentityModel.Web.WSFederationAuthenticationModule.CanReadSignInResponse(HttpRequest request, Boolean onPage) +145

Microsoft.IdentityModel.Web.WSFederationAuthenticationModule.OnAuthenticateRequest(Object sender, EventArgs args) +108
System.Web.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +80
System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +266

'

    
por jscott 28.07.2010 / 19:51

1 resposta

2

Eu acredito que você agora (a partir do .Net 4.0) também precisa do Modo de Validação de Solicitação definido como 2.0 no web.config. Assim:

<system.web>
  <httpRuntime requestValidationMode="2.0" />
  <pages validateRequest="false" />

Rick Strahl tem um post sobre isso:

Alterações no RequestValidation no ASP.NET 4.0

    
por 08.02.2011 / 18:51