Sustainsys.Saml2 为 ASP.NET 动态启动身份验证

Sustainsys.Saml2 start authentication dynamically for ASP.NET

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

我更改了我的配置,正如他们所说的 ASP.NET 网络表单 "In many cases it should just be configured in the web.config file and work without any code written in the application at all" example. Now I need to start authenticate in my login page and redirect to identity provider's page. In this page 中的那样。但身份验证不会自动启动。

我 运行 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
}

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

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

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

  • 身份验证模式 url /Saml2/SignIn
  • 的登录表单
  • 在 web.config 中设置授权规则以禁止匿名访问所有页面。