Ich verwende Grails 3 und das Spring Security Plugin zur Authentifizierung.Grails 3 Spring Security Plugin
Wenn ich treffe die folgende URL manuell in meinem Browser:
http://localhost:8080/cool-0.1/
ich die Login-Seite zu bekommen, und ich kann erfolgreich authentifizieren, Folgern, dass ich richtig meinen Benutzername/Passwort-Combo eingeben.
Problem:
Wenn ich unter Verwendung des Original-Link, ohne den Schrägstrich auf meine Seite navigieren (IE: http://localhost:8080/cool-0.1 und nicht http://localhost:8080/cool-0.1/) Ich vollständig umgehen die Sicherheit, und bin in der Lage die Homepage zu sehen, ohne Authentifizierung . (Ja, lösche ich meinen Cache, schließen Sie alle Fenster, etc.)
Meine URL-Zuordnungen enthalten den folgenden Code:
"/"(controller: "home", action: "index")
Meine Feder Sicherheit groovy Datei enthält den folgenden Code:
grails.plugin.springsecurity.controllerAnnotations.staticRules = [
[pattern: '/login/**', access: ['permitAll']],
[pattern: '/error', access: ['permitAll']],
[pattern: '/**', access: 'isAuthenticated()']
]
grails.plugin.springsecurity.filterChain.chainMap = [
[pattern: '/assets/**', filters: 'none'],
[pattern: '/**/js/**', filters: 'none'],
[pattern: '/**/css/**', filters: 'none'],
[pattern: '/**/images/**', filters: 'none'],
[pattern: '/**/favicon.ico', filters: 'none'],
[pattern: '/**', filters: 'JOINED_FILTERS']
]
Ich sehe nicht, was mir hier fehlt. Warum verursachen die beiden Szenarien Probleme? Die Dokumentation für Spring Security Grails 3 erwähnt nichts, was nützlich wäre, um dies zu lösen.