2016-07-08 7 views
0

Я использую OKTA как функцию Idp для SSO. Я добавил приложение в окте & определило следующие настройки:OKTA SSO перенаправление: получение ошибки HTTP 405.0 - метод не разрешен

Единого вход URL & аудитории URI (SP Entity ID): http://localhost/KentorBeginner/ (Даже пытался путем удаления слэша)

На просмотре окт SSO URL (разных чем выше), okta перенаправляет на мое настроенное приложение IIS (KentorBeginner), но я получаю сообщение об ошибке HTTP 405.0 - метод не разрешен. Страница, которую вы ищете, не может быть отображена, поскольку используется недействительный метод (HTTP-глагол).

Приведенные ниже скриншоты для справки. Direct-browse

Спасибо.

С уважением, Ravi Karavadia

ответ

0

На самом деле, проблема заключалась в проводке запрос на HTML-файл.

IIS рассматривает файлы html как статические и позволяет им использовать GET и HEAD-глаголы, поэтому, когда форма была опубликована, я получал «405 Method Not Allowed ...» не может быть отображен, потому что недопустимый метод (HTTP-глагол) «используется».

Нам нужно настроить любой язык, который вы используете, для обработки файлов html вместо статического обработчика файлов.

Итак, я добавил ниже запись для обработки html-файла с другим обработчиком.

под обработчиками тегов System.WebServer.

Ниже приведен фрагмент web.config.

<system.webServer> 
    <validation validateIntegratedModeConfiguration="false" /> 
    <modules> 
     <remove name="WebDAVModule" /> 
    </modules> 
    <handlers> 
     <remove name="ISAPI-dll" /> 
     <remove name="StaticFile" /> 
     <remove name="WebDAV" /> 
     <remove name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" /> 
     <remove name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" /> 
     <remove name="ExtensionlessUrlHandler-Integrated-4.0" /> 
     <add name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" /> 
     <add name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" /> 
     <add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" /> 
     <add name="StaticFile" path="*" verb="*" modules="StaticFileModule,DefaultDocumentModule,DirectoryListingModule" resourceType="Either" requireAccess="Script" /> 
     <add name="ISAPI-dll" path="*.dll" verb="*" modules="IsapiModule" scriptProcessor="C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" resourceType="Either" requireAccess="Execute" allowPathInfo="true" preCondition="bitness32" /> 
     <add name="html" path="*.html" verb="*" modules="IsapiModule" scriptProcessor="%windir%\system32\inetsrv\asp.dll" resourceType="Unspecified" requireAccess="None" /> 
</handlers> 
<defaultDocument enabled="true"> 
     <files> 
     <clear /> 
     <add value="Hello.html" /> 
     </files> 
    </defaultDocument> 
    <security> 
     <requestFiltering> 
     <verbs> 
      <add verb="POST" allowed="true" /> 
     </verbs> 
     <fileExtensions> 
      <add fileExtension=".html" allowed="true" /> 
     </fileExtensions> 
     </requestFiltering> 
    </security> 
</system.webServer> 

Спасибо.

С уважением, Ravi Karavadia