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.