Zwei Bereiche in derselben Anwendung mit Spring Security?

Marcel Stör:

Wir erstellen eine Webanwendung, die sowohl authentifizierten als auch anonymen Benutzern zur Verfügung steht. Wenn Sie sich nicht registrieren / anmelden, stehen Ihnen nur begrenzte Funktionen zur Verfügung. Die Benutzerauthentifizierung erfolgt über OpenID mit Spring Security. Das funktioniert gut.

Die Anwendung verfügt jedoch auch über eine Administrator-Benutzeroberfläche, die unter bereitgestellt wird <host>/<context-root>/admin. Können wir mit Spring Security zwei separate Bereiche haben (z. B. Basisauthentifizierung für /admin/**)? Wie muss das konfiguriert werden?

gutch:

Spring Security hat Unterstützung für dieses Szenario in Version 3.1 hinzugefügt, die derzeit als Release Candidate verfügbar ist. Es wurde von SEC-1171 implementiert und Details zur Syntax finden Sie im Handbuch, das in 3.1 enthalten ist.

Es ist jedoch ziemlich einfach zu bedienen. Grundsätzlich definieren Sie httpin Ihrer Spring Security-Konfiguration nur mehrere Elemente, eines für jeden Bereich. Wir verwenden es so:

<!-- Configure realm for system administration users -->
<security:http pattern="/admin/**" create-session="stateless">
    <security:intercept-url pattern='/**' access='ROLE_ADMIN' requires-channel="https" />
    <security:http-basic/>  
</security:http>


<!-- Configure realm for standard users -->
<security:http auto-config="true" access-denied-page="/error/noaccess" use-expressions="true" create-session="ifRequired">
    <security:form-login login-page="/login"
            ...
            ...
</security:http>

Das Wichtigste ist pattern="/admin/**"das erste httpElement. Dies teilt Spring mit, dass alle URLs unter /admindiesem Bereich anstelle des Standardbereichs unterliegen - und daher verwenden URLs unter /adminstattdessen die Basisauthentifizierung.

Dieser Artikel stammt aus dem Internet. Bitte geben Sie beim Nachdruck die Quelle an.

Bei Verstößen wenden Sie sich bitte [email protected] Löschen.

bearbeiten am
0

Lass mich ein paar Worte sagen

0Kommentare
LoginNach der Teilnahme an der Überprüfung

Verwandte Artikel

Wie schließe ich zwei Fenster derselben Anwendung mit Python?

Verwenden von zwei Protokollierungsframeworks in derselben Spring-Anwendung

Spring Security oauth2 Login und Ressourcenserver in derselben Anwendung

Die Hintergrundfarbe für zwei Bereiche muss den Zwischenraum wie mit derselben Farbe ausfüllen

Spring Boot-Anwendung mit zwei Einstiegspunkten: CLI und Webdienst

Winkelmesser verketten zwei Bereiche mit demselben Klassennamen

Wie Vaadin Flow-Anwendung mit Spring Security sichern

Spring Security SAML mit Standard-Java-Anwendung

Zwei Profile mit derselben Konfiguration

Zwei Formulare mit derselben FormGroup?

Zwei URLs mit derselben Struktur

Zwei Schnittstellen mit derselben Methode

Anmelden derselben Anwendung mit unterschiedlichen Protokolldateien

Gleiche formularbasierte Authentifizierung für zwei Anwendungen mit Spring Security

Mehrere Instanzen derselben Anwendung mit derselben Gruppen-ID kafka

Wie verwende ich Spring WebSessionIdResolver mit Spring Security 5 in einer Spring Webflux-Anwendung?

$lookup mit zwei Feldern mit derselben Sammlung

Kann ich in derselben Swing-Anwendung zwei unterschiedliche Erscheinungsbilder verwenden?

Mac: Verknüpfung zum Wechseln zwischen zwei Fenstern derselben Anwendung

Installiere zwei Debug-Apk aus derselben Anwendung (Flavours)

So öffnen Sie zwei verschiedene URLs in derselben Webview-Anwendung

Spring Boot-Anwendung mit Spring Security: Erlauben Sie nur bestimmten Personen, sich für die Anwendung zu registrieren

Spring - zwei verschiedene POST-Methoden mit derselben URL, aber unterschiedlichem Inhaltstyp

Wie vergleicht man zwei benannte Bereiche in derselben Arbeitsmappe, aber unterschiedlichen Arbeitsblättern?

Wie kann ich zwei Bereiche mit oder Bedingung verbinden?

Kann ich mit LINQ Bereiche in zwei Arrays vergleichen?

Schienen fügen zwei Bereiche mit aktivem Datensatzergebnis hinzu

Zwei ähnliche Bereiche mit Onclick-Ereignis, einer funktioniert nicht?

Wie kombiniere ich zwei nicht benachbarte Bereiche mit Union?

TOP Liste

  1. 1

    So legen Sie mit dem Interface Builder unterschiedliche führende Speicherplätze für unterschiedliche Geräte fest

  2. 2

    Wie konvertiert man einen Datenrahmen im langen Format in eine Liste mit einem geeigneten Format?

  3. 3

    Fügen Sie eine weitere Schaltfläche zu gwt Suggest Box hinzu

  4. 4

    Was ist schneller: SUM über NULL oder über 0?

  5. 5

    Wie konvertiere ich einen Vektor von Bytes (u8) in eine Zeichenfolge?

  6. 6

    Wie kann ich in SCSS mehrere Klassen zu einer einzigen kombinieren?

  7. 7

    Tomcat - Leiten Sie den alten Kontextstamm zum neuen Kontextstamm um

  8. 8

    So berechnen Sie die Verfügbarkeit von Anwendungen (SLA)

  9. 9

    Eclipse Oxygen - Projekte verschwinden

  10. 10

    Wie kann ich eine verschachtelte Schleife mit lapply in R ersetzen?

  11. 11

    Speichern Sie ein MPAndroidChart-Diagramm in einem Bild, ohne es in einer Aktivität anzuzeigen

  12. 12

    Python: Spalten mit demselben Namen zusammenführen, wobei der Mindestwert beibehalten wird

  13. 13

    Tic Tac Toe-Spiel im React-Reset-Button funktioniert nicht

  14. 14

    Wie wählt man Unterschiede mit drei Tabellen aus?

  15. 15

    Kann ich ein Tkinter-Canvas erstellen, das mehrere Zeilen in einem Text-Widget umfasst?

  16. 16

    ElasticSearch BulkShardRequest ist aufgrund von org.elasticsearch.common.util.concurrent.EsThreadPoolExecutor fehlgeschlagen

  17. 17

    Gruppieren Sie Datenrahmenspalten nach ihrem Datum (die Spaltentitel enthalten) und fassen Sie die Instanzen von Einsen und Nullen in R . zusammen

  18. 18

    Wie kann ich den Kaskadenmodus global einstellen?

  19. 19

    Ärgerliches Problem mit yaml, das ich nicht lösen kann

  20. 20

    Wie erstelle ich einen neuen übergeordneten Knoten außerhalb der .ref (/ path) in der Firebase-Echtzeitdatenbank mithilfe von Cloud-Funktionen (Typescript)?

  21. 21

    So erhalten Sie eine gleichmäßige Höhe für alle Eingabefelder

heißlabel

Archiv