Una página de inicio de sesión personalizada para Azure ACS no funciona

Descargué la página de inicio de sesión de muestra del portal ACS para mi aplicación, que es un archivo html. Luego configuré mi aplicación con WIF, y todo funcionó perfectamente.

Dado que necesitamos manejar y guardar una cadena de consulta entrante, para que la cadena de consulta pueda usarse más tarde después de que el usuario haya iniciado sesión, necesitamos mover la página de inicio de sesión html a una página aspx.

El problema es que cuando cambio el emisor de WIF en el archivo web.config al archivo aspx, deja de funcionar. Cuando funciona se ve así:

<certificateValidation certificateValidationMode="None" />
  <federatedAuthentication>
    <wsFederation passiveRedirectEnabled="true" issuer="http://localhost:81/acstest/WebSiteAdvancedACSLoginPageCode.html" realm="http://localhost:81/acstest/" requireHttps="false" />
    <cookieHandler requireSsl="false" />
  </federatedAuthentication>

Pero luego, cuando lo cambio a mi página aspx, donde acabo de mover todo el código de la página html, ni siquiera puedo cargar la página:

<certificateValidation certificateValidationMode="None" />
  <federatedAuthentication>
    <wsFederation passiveRedirectEnabled="true" issuer="http://localhost:81/acstest/WebSiteAdvancedACSLoginPageCode.aspx" realm="http://localhost:81/acstest/" requireHttps="false" />
    <cookieHandler requireSsl="false" />
  </federatedAuthentication>

Cuando corro con el archivo aspx configurado, puedo ver en el violinista que algo no está bien, intenta obtenerlo y sigue obteniendo "objeto movido aquí:" Esta es la solicitud de obtención:

GET http://localhost:81/acstest/WebSiteAdvancedACSLoginPageCode.aspx?wa=wsignin1.0&wtrealm=http%3a%2f%2flocalhost%3a81%2facstest%2f&wctx=rm%3d0%26id%3dpassive%26ru%3d%252facstest%252fWebSiteAdvancedACSLoginPageCode.aspx&wct=2011-11-23T09%3a33%3a30Z HTTP/1.1
Accept: text/html, application/xhtml+xml, */*
Accept-Language: sv-SE
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)
Accept-Encoding: gzip, deflate
Connection: Keep-Alive
Host: localhost:81
Cookie: ACSChosenIdentityProvider-10001951=Google

Al final, arroja una excepción de que la cadena de consulta es demasiado larga. El error y la advertencia de la solicitud:

MODULE_SET_RESPONSE_ERROR_STATUS

ModuleName UrlAuthorization

Notification AUTHORIZE_REQUEST

HttpStatus 401

HttpReason No autorizado

HttpSubStatus 0

ErrorCode Åtgärden har slutförts. (0x0)

ConfigExceptionInfo

Se agradece cualquier comentario o solución alternativa.

Respuestas a la pregunta(1)

Su respuesta a la pregunta