我正在使用“ Sustainsys.SAML”库通过SAML2实现单点登录。我有2个使用https在同一台机器上运行的.NET Web应用程序。这两个应用程序是基于标准ASP.NET的应用程序。 问题是有关其他应用程序的第一次请求后重新输入凭据。以下是步骤。
第一个Web应用程序第一次请求任何页面,然后IDP通过输入LOGIN凭据来进行身份验证。身份验证完成后,页面会根据配置文件中的设置重定向到相应的页面。
现在浏览第二个应用程序,然后再次将其重定向到IDP,并要求重新输入凭据。此行为与SSO不同。理想情况下,IDP应该返回身份验证SAML令牌,而无需第二次再次询问凭据。请指教。
有关信息,目前我正在开发环境https://stubidp.sustainsys.com/Metadata中使用模拟IDP。
以下是我使用的两个Web应用程序的配置设置:
Web应用程序1中的Web.config设置
<sustainsys.saml2 entityId="https://localhost:44303/<appname1>/Saml2" returnUrl="https://localhost:44303//<appname1>/default.aspx" authenticateRequestSigningBehavior="Always">
<nameIdPolicy allowCreate="true" format="Persistent" />
<requestedAuthnContext classRef="Password" comparison="Minimum" />
<identityProviders>
<add entityId="https://stubidp.sustainsys.com/Metadata" signOnUrl="https://stubidp.sustainsys.com/" allowUnsolicitedAuthnResponse="true" binding="HttpRedirect">
<signingCertificate fileName="~/App_Data/stubidp.sustainsys.com.cer" />
</add>
</identityProviders>
<serviceCertificates>
<add fileName="~/App_Data/Sustainsys.Saml2.Tests.pfx" />
</serviceCertificates>
</sustainsys.saml2>
Web应用程序2中的
Web.config设置
<sustainsys.saml2 entityId="https://localhost:44305/<appname2>/Saml2" returnUrl="https://localhost:44305/<appname2>/default.aspx" authenticateRequestSigningBehavior="Always">
<nameIdPolicy allowCreate="true" format="Persistent" />
<requestedAuthnContext classRef="Password" comparison="Minimum" />
<identityProviders>
<add entityId="https://stubidp.sustainsys.com/Metadata" signOnUrl="https://stubidp.sustainsys.com/" allowUnsolicitedAuthnResponse="true" binding="HttpRedirect">
<signingCertificate fileName="~/App_Data/stubidp.sustainsys.com.cer" />
</add>
</identityProviders>
<serviceCertificates>
<add fileName="~/App_Data/Sustainsys.Saml2.Tests.pfx" />
</serviceCertificates>
</sustainsys.saml2>
请对此进行帮助,以避免通过第二次申请请求身份验证重新输入凭据。
谢谢。