0

您好,我尝试将 SMAL 与 Sustainsys.Saml2集成。我使用 ASP.NET(不是 MVC 或 Core)开发了一个 Web 应用程序。此 Web 应用程序是 SAML 的服务提供者。

我更改了我的配置,如示例中所示。现在我需要在我的登录页面中开始验证并重定向到身份提供者的页面。在此页面中,他们对 ASP.NET Web 表单说“在许多情况下,它应该只在 web.config 文件中进行配置,并且根本不需要在应用程序中编写任何代码即可工作”。但身份验证不会自动启动。

我运行 MVC 示例并在 Index.cshtml 中看到这一行

<a href="@Url.Content("~/Saml2/SignIn")">Sign in</a> - default IDP
@foreach (var idp in Sustainsys.Saml2.Configuration.SustainsysSaml2Section.Current.IdentityProviders)
{
    var entityId = idp.EntityId;
    var destinationUrl = idp.SignOnUrl;
    <br />
    <a href="@Url.Content("~/Saml2/SignIn?idp=" + HttpUtility.UrlEncode(entityId))">Sign in</a>@: - @entityId - @destinationUrl
}

如果我单击此链接,它会重定向到身份提供者的页面。如何为 ASP.Net 集成它并为 ASP.Net 启动身份验证?

4

1 回答 1

1

您应该将 HttpModule 与 Web 表单一起使用。要启动身份验证,请将用户重定向到 /Saml2/SignIn。

或者通过 web.config 中的设置通过自动重定向保护整个应用程序:

  • 身份验证模式 登录 url 为 /Saml2/SignIn 的表单
  • 在 web.config 中设置授权规则以禁止匿名访问所有页面。
于 2019-09-20T06:17:15.503 回答