Anleitung zur Konfiguration von ASP.NET Framework SAML SSO mit Shibboleth als Identitätsanbieter
Übersicht
ASP.NET SAML Single Sign-On (SSO)-Modul gibt die Möglichkeit zur Aktivierung SAML-Single-Sign-On für Ihre ASP.NET-Anwendungen. Mit Single Sign-On Sie können nur ein Passwort für den Zugriff auf Ihr ASP.NET-Anwendung und Dienstleistungen. Unser Modul ist kompatibel mit allen SAML-kompatible Identitätsanbieter. Hier werden wir Schritt für Schritt durch die Konfiguration gehen Einmaliges Anmelden (SSO) zwischen ASP.NET und Shibboleth Berücksichtigung Shibboleth als IdP.
Plattformunterstützung: Das ASP.NET SAML SSO-Modul unterstützt ASP.NET 3.5 und höhere Frameworks.
Voraussetzungen: Download und Installation
- Um das zu installieren miniOrange SAML SSO NuGet-Paket Installieren Sie in Ihrer .NET-Anwendung einfach das miniOrange NuGet-Paket über Ihrer Anwendung.
PM> NuGet\Install-Package miniOrange.SAML.SSO
- Öffnen Sie nach der Installation Ihren Browser und durchsuchen Sie das Modul-Dashboard mit der folgenden URL:
http(s)<your-dotnet-application-base-url>?ssoaction=config
- Wenn die Registrierungs- oder Anmeldeseite angezeigt wird, haben Sie das miniOrange SAML SSO-Modul erfolgreich zu Ihrer Anwendung hinzugefügt.
- Registrieren Sie sich oder melden Sie sich mit Ihrem Konto an, indem Sie auf klicken Registrieren Klicken Sie auf die Schaltfläche, um das Modul zu konfigurieren.
- Nach erfolgreicher Registrierung erhalten Sie einen Testlizenzschlüssel an Ihre registrierte E-Mail-Adresse.
- Um das Modul zu aktivieren, können Sie entweder:
- Geben Sie die Lizenzschlüssel per E-Mail erhalten in das dafür vorgesehene Eingabefeld.
- Laden Sie die heruntergeladene Lizenzdatei hoch, indem Sie auf das Mehr Info .
OR
- Aktivieren Sie anschließend das Kontrollkästchen "Ich habe die oben genannten Bedingungen gelesen und möchte das Modul aktivieren" und klicken Sie auf Lizenz aktivieren .
Konfigurationsschritte
1. Bereitstellung von .NET-Anwendungsmetadaten für den Shibboleth Identity Provider
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:
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:
-
Entfernen Sie in conf/idp.properties das Kommentarzeichen und setzen Sie „idp.encryption.optional“ auf „true“.
z.B. idp.encryption.optional = true
- In conf/metadata-providers.xml, konfigurieren Sie den Dienstanbieter wie folgt
<MetadataProvider xmlns:samlmd="urn:oasis:names:tc:SAML:2.0:metadata"
id="miniOrangeInLineEntity" xsi:type="InlineMetadataProvider" sortKey="1">
<samlmd:EntityDescriptor ID="entity" entityID="<SP-EntityID / Issuer from Service Provider Info tab in plugin.>"
validUntil="2020-09-06T04:13:32Z">
<samlmd:SPSSODescriptor AuthnRequestsSigned="false" WantAssertionsSigned="true"
protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol">
<samlmd:NameIDFormat>
urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress
</samlmd:NameIDFormat>
<samlmd:AssertionConsumerServiceBinding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST"
Location="<ACS (AssertionConsumerService) URL from Step1 of the plugin under Identity Provider Tab.>"
index="1" />
</samlmd:SPSSODescriptor>
</samlmd:EntityDescriptor>
</MetadataProvider>
- In conf/saml-nameid.properties, Kommentar entfernen und Standard festlegen NameID as E-Mail Adresse so was.
idp.nameid.saml2.default=urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress
- In conf/saml-nameid-xml, suchen Sie nach shibboleth.SAML2NameIDGenerators. Kommentieren Sie die Bean shibboleth.SAML2AttributeSourcedGenerator aus und kommentieren Sie alle anderen Ref-Beans
<!-- SAML 2 NameID Generation -->
<util:list id="shibboleth.SAML2NameIDGenerators">
<!--<ref bean="shibboleth.SAML2TransientGenerator" /> -->
<!--<ref bean="shibboleth.SAML2PersistentGenerator" /> -->
<bean parent="shibboleth.SAML2AttributeSourcedGenerator"
p:format="urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress"
p:attributeSourceIds="#{ {'email'} }" />
</util:list>
- Stellen Sie sicher, dass Sie AttributeDefinition in definiert haben conf/attribute-resolver.xml.
<!-- Note: AttributeDefinitionid must be same as what you provided in attributeSourceIds in conf/saml-nameid.xml -->
<resolver:AttributeDefinitionxsi:type="ad:Simple" id="email" sourceAttributeID="mail">
<resolver:Dependency ref="ldapConnector" />
<resolver:AttributeEncoderxsi:type="enc:SAML2String" name="email" friendlyName="email" />
</resolver:AttributeDefinition>
<resolver:DataConnector id="ldapConnector"
xsi:type="dc:LDAPDirectory"
ldapURL="%{idp.authn.LDAP.ldapURL}"
baseDN="%{idp.authn.LDAP.baseDN}"
principal="%{idp.authn.LDAP.bindDN}"
principalCredential="%{idp.authn.LDAP.bindDNCredential}">
<dc:FilterTemplate>
<!-- Define you User Search Filter here -->
<![CDATA[(&(objectclass=*) (cn=$requestContext.principalName)) ]]>
</dc:FilterTemplate>
<dc:ReturnAttributes>*</dc:ReturnAttributes>
</resolver:DataConnector>
- Stellen Sie sicher, dass AttributeFilterPolicy in definiert ist conf/attribute-filter.xml.
<afp:AttributeFilterPolicy id="ldapAttributes">
<afp:PolicyRequirementRulexsi:type="basic:ANY"/>
<afp:AttributeRuleattributeID="email">
<afp:PermitValueRulexsi:type="basic:ANY"/>
</afp:AttributeRule>
</afp:AttributeFilterPolicy>
- Starten Sie den Shibboleth-Server neu.
- Sie müssen diese Endpunkte im ASP.NET SAML-Modul konfigurieren.
| IDP-Entitäts-ID | https://<your_domain>/idp/shibboleth |
| Einzelne Login-URL | https://<your_domain>/idp/profile/SAML2/Redirect/SSO |
| Einzelne Abmelde-URL | https://<your_domain>/idp/shibboleth |
| X.509-Zertifikat | Das Public-Key-Zertifikat Ihres Shibboleth-Servers |
- Sie haben Shibboleth erfolgreich als SAML IdP (Identity Provider) für die Shibboleth SSO-Anmeldung in Ihrer ASP.NET-Anwendung konfiguriert.
2. Konfigurieren der Shibboleth-Identitätsanbieter-Metadaten in der .NET-Anwendung
- Klicken Sie auf Wählen Sie Ihren IDP Schaltfläche, um einen neuen Identitätsanbieter zu konfigurieren.
- Unter dem Plugin-Einstellungen Registerkarte, wählen Sie Shibboleth als Ihren Identitätsanbieter aus der angezeigten Liste.
Im Folgenden werden zwei Möglichkeiten beschrieben, mit denen Sie die Metadaten Ihres SAML-Identitätsanbieters im Modul 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 im Modul 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:
- 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 und SAML X509-Zertifikat Felder bzw.
- Klicke Gespeichert um Ihre IDP-Daten zu speichern.
3. Testen von SAML SSO
- 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.
- Der Screenshot unten zeigt ein erfolgreiches Ergebnis. Klicke auf SSO-Integration um die SSO-Integration weiter fortzusetzen.
- Wenn beim Modul ein Fehler auftritt, wird Ihnen ein Fenster ähnlich dem folgenden angezeigt.
- 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.
- 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.
4. Attributzuordnung
- Nachdem Sie die Konfiguration getestet haben, ordnen Sie Ihre Anwendungsattribute den Identitätsanbieterattributen (IdP) zu.
- Klicken Sie im linken Menü des miniOrange ASP.NET SAML SSO-Moduls auf Attribut-/Rollenzuordnung Registerkarte, wie im Bild gezeigt.
- 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.
5. Integrationscode
- Mit diesen Schritten können Sie die SSO-Benutzerinformationen in Ihrer Anwendung in Form einer Sitzung abrufen.
- Sie können auch nachschauen Aufbautour um zu verstehen, wie die SSO-Integration in Ihrer ASP.NET-Modulanwendung funktionieren würde.
- Kopieren Sie diesen Codeausschnitt einfach und fügen Sie ihn dort ein, wo Sie auf die Benutzerattribute zugreifen möchten.
- Hinweis: Mit dem Testmodul werden die authentifizierten Benutzerdaten in Sitzungsvariablen gespeichert. Unterstützung für das Setzen von Benutzeransprüchen mittels Header-basierter, Forms-Cookie-basierter und JWT-basierter Authentifizierung ist in unserem Premium-Plugin verfügbar.
6. Anmeldeeinstellungen
- Schweben Wählen Sie Aktionen aus und klicken Sie auf 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-module-base-url>/?ssoaction=login
- Sie können es beispielsweise wie folgt verwenden:
<a href="https://<asp.net-module-base-url>/?ssoaction=login">Log
in</a>
7. Abmeldeeinstellungen
- Verwenden Sie die folgende URL als Link zu Ihrer Anwendung, von der aus Sie SLO durchführen möchten:
https://<asp.net-module-base-url>/?ssoaction=logout
- Sie können es beispielsweise wie folgt verwenden:
<a href="https://<asp.net-module-base-url>/?ssoaction=logout">Log
out</a>
Ähnliche Artikel
Kontakt aufnehmen
Bitte erreichen Sie uns unter aspnetsupport@xecurify.com, und unser Team unterstützt Sie bei der Einrichtung des ASP.NET Framework SAML SSO. Unser Team hilft Ihnen, die am besten geeignete Lösung/den am besten geeigneten Plan entsprechend Ihren Anforderungen auszuwählen.
