Я загрузил пример страницы входа в систему с портала ACS для своего приложения, которое представляет собой HTML-файл.
Затем я настроил свое приложение с WIF, и все заработало отлично.
Поскольку нам нужно обработать и сохранить входящую строку запроса, чтобы строку запроса можно было использовать позже после того, как пользователь вошел в систему, нам нужно было переместить страницу входа html на страницу aspx.
Проблема в том, что когда я меняю издателя для WIF в файле web.config на файл aspx, он перестает работать. Когда это работает, это выглядит так:
<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>
Но затем, когда я перехожу на свою страницу aspx, куда я только что переместил весь код HTML-страницы, я не могу даже загрузить страницу:
<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>
Когда я затем запускаю с настроенным файлом aspx, я вижу в fiddler, что что-то не так, он пытается получить и продолжает получать "объект перемещен сюда:" Это запрос get:
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
В конце выдает исключение, что строка запроса слишком длинная.
Ошибка и предупреждение запроса:
MODULE_SET_RESPONSE_ERROR_STATUS
ModuleName
UrlAuthorization
Уведомление
AUTHORIZE_REQUEST
HttpStatus
401
HttpReason
Несанкционированный
HttpSubStatus
0
ErrorCode
Åtgärden har slutförts.
(0x0)
ConfigExceptionInfo
Любая обратная связь или альтернативное решение приветствуется.