我使用OKTA作为SSO功能的Idp。我在OKTA&添加了一个应用程序定义了以下设置:
单点登录URL&受众URI(SP实体ID):http://localhost/KentorBeginner/(甚至尝试删除尾部斜杠)
在浏览OKTA SSO Url(与上述不同)时,okta重定向到我配置的IIS应用程序(KentorBeginner),但我收到HTTP错误405.0 - 方法不允许。 由于使用了无效的方法(HTTP动词),因此无法显示您要查找的页面。
请参阅以下屏幕截图以供参考。Direct-browse
感谢你。
此致 拉维卡拉瓦迪亚
答案 0 :(得分: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>
感谢你。
此致 拉维卡拉瓦迪亚
答案 1 :(得分:0)
我在Firefox上收到此错误,因为我正在使用Facebook Container扩展。在about:addons中禁用Facebook Container后,我可以正常登录-不会出现“ Method Method Allowed”错误