Suchergebnisse :

×

Anleitung zum Konfigurieren von ASP.NET Core SAML SSO mit ADFS als IDP

ASP.NET Core SAML Single Sign-On (SSO)-Middleware gibt die Möglichkeit zur Aktivierung SAML-Single-Sign-On für Ihre ASP.NET-Kernanwendungen. Mit Single Sign-On können Sie nur ein Passwort für den Zugriff auf Ihre ASP.NET-Kernanwendung und Dienstleistungen. Unsere Middleware ist kompatibel mit allen SAML-kompatible Identitätsanbieter. Hier werden wir eine Schritt-für-Schritt-Anleitung zur Konfiguration von Single Sign-On (SSO) zwischen ASP.NET-Kern kombiniert mit einem nachhaltigen Materialprofil. ADFS Berücksichtigung ADFS als IdP.

Plattformunterstützung: Die ASP.NET Core SAML-Middleware unterstützt ASP.NET Core 2.0 und höher. Sie unterstützt alle ASP.NET Core-Plattformen, einschließlich Windows, Linux und macOS.


NuGet-Paket
.NET-CLI

PM> NuGet\Install-Package miniOrange.SAML.SSO


Hinweis: Um die miniOrange ASP.NET SAML SSO-Middleware in Ihre Anwendung zu integrieren, müssen Sie die folgenden Namespaces, Dienste und Middleware zu Ihrem Projekt hinzufügen. Unten finden Sie eine Beispielimplementierung als Referenz.

  using miniOrange.saml;
  using System.Reflection
  var builder=WebApplication.CreateBuilder(args);

  // Add services to the container.
  builder.Services.AddRazorPages();
  builder.Services.AddminiOrangeServices(Assembly.GetExecutingAssembly());

  var app = builder.Build();
        if(!app.Environment.IsDevelopment())
  {
    app.UseExceptionHandler("/Error");
    app.UseHsts();
  }

  app.UseHttpsRedirection();
  app.UseRouting();
  app.UseAuthorization();
  app.MapRazorPages();

  app.UseCookiePolicy();
  app.UseAuthentication();

  #if NET9_0_OR_GREATER
  app.MapStaticAssets();
  #else
  app.UseStaticFiles();
  #endif

  app.UseminiOrangeSAMLSSOMiddleware();
  app.Run();
NuGet-Paket
.NET-CLI

PM> NuGet\Install-Package miniOrange.SAML.SSO


Hinweis: Um die miniOrange ASP.NET SAML SSO-Middleware in Ihre Anwendung zu integrieren, müssen Sie die folgenden Namespaces, Dienste und Middleware zu Ihrem Projekt hinzufügen. Unten sehen Sie ein Beispiel.

  using miniOrange.saml;
  using System.Reflection;

  public class Startup
  {

    public Startup(IConfiguration configuration)
    {
      Configuration = configuration;
    }
    public IConfiguration Configuration { get; }

    // This method gets called by the runtime. Use this method to add services to the container.
    public void ConfigureServices(IServiceCollection services)
    {
      services.AddRazorPages();
      services.AddminiOrangeServices(Assembly.GetExecutingAssembly());
    }

    // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
    public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
    {
      if (env.IsDevelopment())
      {
        app.UseDeveloperExceptionPage();
      }
      else
      {
        app.UseExceptionHandler("/Error");
        // The default HSTS value is 30 days. You may want to change this for production scenarios, see         https://aka.ms/aspnetcore-hsts.
        app.UseHsts();
      }

      app.UseHttpsRedirection();

      app.UseCookiePolicy();
      app.UseAuthentication();

      #if NET9_0_OR_GREATER
      app.MapStaticAssets();
      #else
      app.UseStaticFiles();
      #endif

      app.UseminiOrangeSAMLSSOMiddleware();

      app.UseRouting();
      app.UseAuthorization();
      app.UseEndpoints(endpoints =>
      {
        endpoints.MapRazorPages();
      });
    }
  }

Schritt-für-Schritt-Anleitung für ASP.NET Core SAML SSO mit ADFS als Identitätsanbieter.


  • Öffnen Sie nach der Integration Ihren Browser und durchsuchen Sie das Connector-Dashboard mit der folgenden URL:
 http(s)<your-dotnet-application-base-url>?ssoaction=config
  • Wenn die Registrierungs- oder Anmeldeseite angezeigt wird, haben Sie die miniOrange SAML SSO-Middleware erfolgreich zu Ihrer Anwendung hinzugefügt.
ASP.NET Core – Registrierungsseite

  • Registrieren Sie sich oder melden Sie sich mit Ihrem Konto an, indem Sie auf klicken Registrieren Klicken Sie auf die Schaltfläche, um die Middleware zu konfigurieren.
  • Nach erfolgreicher Registrierung erhalten Sie einen Testlizenzschlüssel an Ihre registrierte E-Mail-Adresse.
  • Um die Middleware zu aktivieren, können Sie entweder:
    • Geben Sie die Lizenzschlüssel per E-Mail erhalten in das dafür vorgesehene Eingabefeld.

    OR

    • Laden Sie die heruntergeladene Lizenzdatei hoch, indem Sie auf das Mehr Info .
ASP.NET Middleware Verify-Testlizenz

  • Aktivieren Sie anschließend das Kontrollkästchen "Ich habe die oben genannten Bedingungen gelesen und möchte die Middleware aktivieren" und klicken Sie auf die Lizenz aktivieren .
ASP.NET Middleware-Lizenz aktivieren

Im Folgenden werden zwei Möglichkeiten beschrieben, mit denen Sie die SAML SP-Metadaten abrufen können, um sie auf der Seite Ihres Identitätsanbieters zu konfigurieren.

A] Verwenden der SAML-Metadaten-URL oder Metadatendatei

  • Im Menü „Plugin-Einstellungen“., suchen Dienstanbietereinstellungen. Darunter finden Sie die Metadaten-URL sowie die Möglichkeit, die SAML-Metadaten herunterzuladen.
  • Kopieren Sie die Metadaten-URL oder laden Sie die Metadatendatei herunter, um sie auf der Seite Ihres Identitätsanbieters zu konfigurieren.
  • Sie können sich auf den Screenshot unten beziehen:
ASP.NET Core – Metadaten des Dienstanbieters

B] Manuelles Hochladen von Metadaten

  • Von dem Dienstanbietereinstellungen Abschnitt können Sie die Metadaten des Dienstanbieters manuell kopieren, wie SP-Entitäts-ID, ACS-URL, Single-Logout-URL und geben Sie es zur Konfiguration an Ihren Identitätsanbieter weiter.
  • Sie können sich auf den Screenshot unten beziehen:
ASP.NET Core – SP-Daten manuell eingeben
  • Suchen Sie zuerst nach ADFS-Verwaltung Anwendung auf Ihrem ADFS-Server.
ADFS-Verwaltung

  • Wählen Sie in der ADFS-Verwaltung aus Vertrauen der vertrauenden Partei und klicken Sie auf Vertrauensstellung der vertrauenden Seite hinzufügen.
ADFS-Verwaltung – Vertrauen der vertrauenden Partei

  • Auswählen Ansprüche bewusst aus dem Relying Party Trust Wizard und klicken Sie auf Start .
ADFS-Management – ​​Ansprüche bewusst

Wählen Sie Datenquelle

  • Wählen Sie unter Datenquelle auswählen die Datenquelle zum Hinzufügen einer Vertrauensstellung der vertrauenden Seite aus.
  • Navigieren Metadaten des Dienstanbieters Abschnitt der ASP.NET SAML-Middleware, um die Endpunkte zum manuellen Konfigurieren des Dienstanbieters zu erhalten.
  • In Assistent zum Hinzufügen einer Vertrauensstellung der vertrauenden Seite wähle eine Option Geben Sie die Daten zur vertrauenden Seite manuell ein und klicken Sie auf Nächster.
Metadaten des Dienstanbieters

Geben Sie den Anzeigenamen an

  • Enter Display Name und Klicken Sie auf Nächster.
Geben Sie den Anzeigenamen an

Zertifikat konfigurieren (Premium-Funktion)

  • Laden Sie das Zertifikat herunter von Registerkarte „Metadaten des Dienstanbieters“..
  • Laden Sie das Zertifikat hoch und klicken Sie auf Nächster.
Zertifikat konfigurieren

URL konfigurieren

  • Auswählen Aktivieren Sie die Unterstützung für das SAML 2.0 WebSSO-Protokoll Option und geben Sie ein ACS-URL von den Plugins Metadaten des Dienstanbieters Tab.
  • Klicken Sie auf Nächster.
URL konfigurieren

Bezeichner konfigurieren

  • Im Vertrauenskennung der vertrauenden Seite, Ergänzen Sie die SP-EntityID / Aussteller von den Plugins Metadaten des Dienstanbieters Tab.
Bezeichner konfigurieren

Wählen Sie Zugriffskontrollrichtlinie

  • Auswählen Erlaube allen als Zugriffskontrollrichtlinie und klicken Sie auf Nächster.
Wählen Sie Zugriffskontrollrichtlinie

Bereit, Vertrauen hinzuzufügen

  • In Bereit, Vertrauen hinzuzufügen Klicken Sie auf Nächster und dann Menu.
Bereit, Vertrauen hinzuzufügen

Anspruchsausstellungsrichtlinie bearbeiten

  • In der Liste von Vertrauen der vertrauenden Partei, wählen Sie die von Ihnen erstellte Anwendung aus und klicken Sie auf Anspruchsausstellungsrichtlinie bearbeiten.
Anspruchsausstellungsrichtlinie bearbeiten

  • Klicken Sie auf der Registerkarte „Issuance Transform Rule“ auf Regel hinzufügen .
Anspruchsausstellungsrichtlinie bearbeiten

Wählen Sie Regeltyp

  • Auswählen Senden Sie LDAP-Attribute als Ansprüche und klicken Sie auf Nächster.
Wählen Sie Regeltyp

Anspruchsregel konfigurieren

  • Hinzufügen Name der Anspruchsregel und wählen Sie die Attributspeicher nach Bedarf aus der Dropdown-Liste.
  • Der Zuordnung von LDAP-Attributen zu ausgehenden Anspruchstypen, Wählen Sie LDAP-Attribut als E-mailadressen und Ausgehender Anspruchstyp als Name ID.
Anspruchsregel konfigurieren

  • Nachdem Sie die Attribute konfiguriert haben, klicken Sie auf Farbe.
  • Nachdem Sie ADFS als IDP konfiguriert haben, benötigen Sie das Föderationsmetadaten um Ihren Dienstanbieter zu konfigurieren.
  • Um die ADFS-Verbundmetadaten abzurufen, können Sie diese URL verwenden
    https://< ADFS_Server_Name >/federationmetadata/2007-06/federationmetadata.xml
  • Sie haben ADFS erfolgreich als SAML-IdP (Identitätsanbieter) für die ADFS Single Sign-On (SSO)-Anmeldung konfiguriert

Windows-SSO (optional)

Führen Sie die folgenden Schritte aus, um Windows SSO zu konfigurieren

  • Schritte zum Konfigurieren von ADFS für die Windows-Authentifizierung
    • Öffnen Sie die Eingabeaufforderung mit erhöhten Rechten auf dem ADFS-Server und führen Sie den folgenden Befehl darauf aus:
      setspn -a HTTP/##ADFS-Server-FQDN## ##Domänendienstkonto##
    • FQDN ist ein vollständig qualifizierter Domänenname (Beispiel: adfs4.example.com)
    • Das Domänendienstkonto ist der Benutzername des Kontos in AD.
    • Beispiel: setspn -a HTTP/adfs.example.com Benutzername/Domäne.
  • Öffnen Sie die AD FS-Verwaltungskonsole und klicken Sie auf Leistungen und geh zum Authentifizierungsmethoden Abschnitt. Klicken Sie rechts auf Bearbeiten Sie primäre Authentifizierungsmethoden. Überprüfen Sie die Windows-Authentifizierung in der Intranetzone.
ADFS-Verwaltungskonsole ADFS-Verwaltungskonsole
  • Öffnen Sie den Internet Explorer. Navigieren Sie in den Internetoptionen zur Registerkarte „Sicherheit“.
  • Fügen Sie den FQDN von AD FS zur Liste der Websites im lokalen Intranet hinzu und starten Sie den Browser neu.
  • Wählen Sie „Benutzerdefinierte Stufe“ für die Sicherheitszone. Wählen Sie in der Liste der Optionen die Option Automatische Anmeldung nur in der Intranetzone aus.
Sicherheitseinstellungen – Lokale Intranetzone

  • Öffnen Sie die Powershell und führen Sie die folgenden zwei Befehle aus, um die Windows-Authentifizierung im Chrome-Browser zu aktivieren.
 Set-AdfsProperties -WIASupportedUserAgents ((Get-ADFSProperties | Select -ExpandProperty  WIASupportedUserAgents) + "Chrome")
 Get-AdfsProperties | Select -ExpandProperty WIASupportedUserAgents;
  • Sie haben ADFS erfolgreich für die Windows-Authentifizierung konfiguriert.

  • Klicken Sie auf Neuen IDP hinzufügen Schaltfläche, um einen neuen Identitätsanbieter zu konfigurieren.
ASP.NET Core SAML SSO mit Azure AD als IDP – Neuen IDP hinzufügen

  • Unter dem Plugin-Einstellungen Registerkarte, wählen Sie ADFS als Ihren Identitätsanbieter aus der angezeigten Liste.
ASP.NET Core SAML SSO mit ADFS als IDP – Neuen IDP hinzufügen

Im Folgenden werden zwei Möglichkeiten beschrieben, mit denen Sie die Metadaten Ihres SAML-Identitätsanbieters in der Middleware konfigurieren können.

A] Metadaten über die Schaltfläche „IDP-Metadaten hochladen“ hochladen:

  • Wenn Ihr Identitätsanbieter Ihnen die Metadaten-URL oder Metadatendatei (nur .xml-Format) bereitgestellt hat, können Sie die Metadaten des Identitätsanbieters einfach in der Middleware mithilfe von konfigurieren Laden Sie IDP-Metadaten hoch .
  • Kopieren Sie die Metadaten-URL oder laden Sie die Metadatendatei herunter, um sie auf der Seite Ihres Identitätsanbieters zu konfigurieren.
  • Sie können sich auf den Screenshot unten beziehen:
ASP.NET Core – IDP-Metadaten hochladen

  • Sie können eine der Optionen entsprechend dem verfügbaren Metadatenformat auswählen.

B] Konfigurieren Sie die Metadaten des Identitätsanbieters manuell:

  • Nach der Konfiguration Ihres Identitätsanbieter, es wird Ihnen zur Verfügung gestellt IDP-Entitäts-ID, IDP-Single-Sign-On-URL kombiniert mit einem nachhaltigen Materialprofil. SAML X509-Zertifikat Felder bzw.
  • Klicke Gespeichert um Ihre IDP-Daten zu speichern.
ASP.NET Core – IDP manuell konfigurieren
  • Navigieren Sie nach dem Hochladen der Metadatendetails zum Einstellungen des Identitätsanbieters Abschnitt. Bewegen Sie den Mauszeiger über das Wählen Sie Aktionen aus Dropdown-Liste und klicken Sie auf Testkonfiguration.
ASP.NET Core – Testkonfiguration

  • Der Screenshot unten zeigt ein erfolgreiches Ergebnis. Klicke auf SSO-Integration um die SSO-Integration weiter fortzusetzen.
ASP.NET Core – Testkonfiguration

  • Wenn auf der Middleware-Seite ein Fehler auftritt, wird ein Fenster angezeigt, das dem folgenden ähnelt.
ASP.NET Core – Testkonfigurationsfehler

  • Um den Fehler zu beheben, können Sie die folgenden Schritte ausführen:
  • Der Problembehandlung Aktivieren Sie auf der Registerkarte den Schalter, um die Plugin-Protokolle zu empfangen.
ASP.NET Core – Fehlerbehebung

  • Nach der Aktivierung können Sie Plugin-Protokolle abrufen, indem Sie zu navigieren Plugin-Einstellungen Tab und klicken Sie auf Testkonfiguration.
  • Laden Sie Logdatei von dem Problembehandlung Tab, um zu sehen, was schief gelaufen ist.
  • Sie können die teilen Logdatei bei uns bei aspnetsupport@xecurify.com und unser Team wird sich mit Ihnen in Verbindung setzen, um Ihr Problem zu lösen.
  • Nachdem Sie die Konfiguration getestet haben, ordnen Sie Ihre Anwendungsattribute den Identitätsanbieterattributen (IdP) zu.
  • Klicken Sie im linken Menü der miniOrange ASP.NET SAML SSO Middleware auf Attribut-/Rollenzuordnung Registerkarte, wie im Bild gezeigt.
ASP.NET Core – Attributzuordnung

  • Wenn Sie zusätzliche Attribute von Ihrem IdP übergeben möchten, geben Sie den Attributnamen und den entsprechenden Attributwert unter Benutzerdefinierte Attributzuordnung.
  • Hinweis: Alle zugeordneten Attribute werden in der Sitzung gespeichert, sodass Sie in Ihrer Anwendung darauf zugreifen können.
  • Sobald die Attribute zugeordnet sind, klicken Sie auf Attributzuordnung speichern Änderungen anwenden.
ASP.NET Core – Attributzuordnung
  • Mit diesen Schritten können Sie die SSO-Benutzerinformationen in Ihrer Anwendung in Form von Benutzeransprüchen abrufen.
  • Sie können auch nachschauen Aufbautour um zu verstehen, wie die SSO-Integration in Ihrer ASP.NET-Middleware-Anwendung funktionieren würde.
  • Kopieren Sie diesen Codeausschnitt einfach und fügen Sie ihn dort ein, wo Sie auf die Benutzerattribute zugreifen möchten.
ASP.NET Core – Integrationscode

  • Hinweis: Mit der Test-Middleware werden die authentifizierten Benutzerdaten in Benutzeransprüchen unter Verwendung der standardmäßigen .NET-Cookie-Authentifizierung gespeichert. Unterstützung für das Setzen von Benutzeransprüchen mit Header-basierter, Session-basierter und JWT-basierter Authentifizierung ist in unserem Premium-Plugin verfügbar.
  • Sie können den Integrationscode auch von unten kopieren:

  string name="";
  string claimtype="";
  string claimvalue="";
  if(User.Identity.IsAuthenticated)
  {
    foreach(var claim in User.claims)
    {
      claimtype = claim.Type;
      claimvalue = claim.Value;
    }
    //retrive custom attributes(for eg. Retrieve Mapped 'mobileNumber' attribute of your IDP)
    var identity = (ClaimsIdentity)User.Identity;
    IEnumerable claims = identity.claims;
    string mobileNumber = identity.FindFirst("mobileNumber")?.Value;
  }

  • Schweben Wählen Sie Aktionen aus und klicken Sie auf SSO-Link kopieren.
ASP.NET Core SSO-Link kopieren

  • Verwenden Sie die folgende URL als Link in der Anwendung, von der aus Sie SSO durchführen möchten:
  https://<asp.net-middleware-base-url>/?ssoaction=login
  • Sie können es beispielsweise wie folgt verwenden:
  <a href="https://<asp.net-middleware-base-url>/?ssoaction=login">Log in</a>
  • Verwenden Sie die folgende URL als Link zu Ihrer Anwendung, von der aus Sie SLO durchführen möchten:
  https://<asp.net-middleware-base-url>/?ssoaction=logout
  • Sie können es beispielsweise wie folgt verwenden:
  <a href="https://<asp.net-middleware-base-url>/?ssoaction=logout">Log out</a>

 Danke für Ihre Antwort. Wir werden uns bald bei Ihnen melden.

Etwas ist schief gelaufen. Bitte senden Sie Ihre Anfrage erneut

Wir werden uns so schnell wie möglich bei Ihnen melden!


ADFS_sso ×
Hallo!

Brauchen Sie Hilfe? Wir sind hier!

Unterstützung