我尝试为我们的 ASP.net MVC Web 应用程序设置 SAML2。遵循官方文档 ( https://saml2.sustainsys.com/en/2.0/ ) 上的指南。但是当我访问控制器时,它显示“找不到资源。” Saml2 控制器操作都不起作用。
我尝试设置 Web 表单应用程序。加载httpmodule并没有问题。我尝试加载 httpmodule(显然不应该在 MVC 应用程序中加载), saml2 操作有效,但由于某种原因它给出了无效响应。
我在 configsection 中设置了这个
<section name="system.identityModel" type="System.IdentityModel.Configuration.SystemIdentityModelSection, System.IdentityModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<section name="system.identityModel.services" type="System.IdentityModel.Services.Configuration.SystemIdentityModelServicesSection, System.IdentityModel.Services, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<section name="sustainsys.saml2" type="Sustainsys.Saml2.Configuration.SustainsysSaml2Section, Sustainsys.Saml2"/>
在模块中添加了这个
<add name="SessionAuthenticationModule" type="System.IdentityModel.Services.SessionAuthenticationModule, System.IdentityModel.Services, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" preCondition="managedHandler"/>
并添加了主要配置
<sustainsys.saml2 entityId="https://xxxxxxxxxx.xxxx.xx" returnUrl="https://xxxxxxxxxx.xxxx.xx/Sso/Authenticate" authenticateRequestSigningBehavior="Always">
<serviceCertificates>
<add fileName="C:\xxxx.pfx" use="Signing" />
</serviceCertificates>
<identityProviders>
<add entityId="xxxx.xxxxxxx.xxx" signOnUrl="https://xxxxxxxxxx.xxxx.xx" allowUnsolicitedAuthnResponse="true" binding="HttpRedirect">
<signingCertificate fileName="C:\tmp\xxxxxxx.crt" />
</add>
</identityProviders>
</sustainsys.saml2>
<system.identityModel.services>
<federationConfiguration>
<cookieHandler requireSsl="false" name="DCMAuth"/>
</federationConfiguration>
</system.identityModel.services>
当我访问 http://localhost:63856/Saml2/
没有 HttpModule。它给
The resource cannot be found.
说明:HTTP 404。您要查找的资源(或其依赖项之一)可能已被删除、名称已更改或暂时不可用。请查看以下 URL 并确保其拼写正确。
请求的 URL:/Saml2/
但是当我加载 HttpModule 时。它给出了无效的响应。
我错过了什么吗?在我的主要项目中,只有 Sustainsys.web.mvc 是参考。