Frage

Ich habe eine Grails 1.2 app und ich mag deklarative Sicherheit verwenden, um Zugriffe zu beschränken, basierend auf Rollen. Ich beschloss, Shiro zu versuchen, installierte das Plugin, aber wenn ich versuche zu authentifizieren, wird die Meldung „Ungültige Benutzername und / oder Passwort“ zeigt in der Kopfzeile auf. Ich überprüfe den DB-Eintrag und der Benutzer ist es mit dem sha'ed Passwort. Keine Nachrichten sind weder in der Konsole noch in der Stacktrace-Datei angezeigt. Ich fügte hinzu, "warnen 'org.jsecurity'" zu Config.groovy ohne Ergebnisse. Irgendwelche Hinweise / Tricks, dies zu beheben?

War es hilfreich?

Lösung

Ich lief in dieses Problem auch ... wie sparen Sie das Passwort für den Benutzer? Nach dem Ausführen von schnellen Start folgte ich das Beispiel auf dem Shiro Plugin-Seite und den Code zu meiner Bootstrap-init-Methode hinzugefügt:

import org.apache.shiro.crypto.hash.Sha512Hash

def user = new ShiroUser(username: "user123", passwordHash: new Sha512Hash("password").toHex())
user.save()

würde ich versuchen, Login und würde weiterhin eine Anmeldung fehlgeschlagen erhalten. Also habe ich versucht,

def user = new ShiroUser(username:'admin', passwordHash:new Sha256Hash("admin").toHex())
user.save()

Nach dem Sha512Hash zu Sha256Hash Ändern ... Ich war anmelden,!

UPDATE: Just erstellt eine neue App mit Standard Shiro Plugin-Einstellungen nach dem Ausführen von 'Quick-Start'. Wenn Sie einen Benutzer erstellen sind, gehen wollen Sie Sha256Hash aus der Box verwenden. Sie können jedoch Sha512Hash oder Sha1Hash, indem Sie die Bohne zu Ihrer resources.groovy Datei für den Frühling verwenden.

Beispiel für Sha512Hash:

beans = {
  bean {
    credentialMatcher(Sha512CredentialsMatcher) {
      storedCredentialsHexEncoded = true
    }
  }
}

Andere Tipps

Haben Sie laufen Quick-Start? Verwenden Sie den Standard-Datenbank-Bereich?

Ich würde debuggen durch den Realm Sie verwenden und sehen, was los ist.

Ich kann Hilfe bei der shiro Fehlerbehebung, aber wenn Sie sich für eine leistungsfähigere Lösung suchen möchten Sie vielleicht flink überprüfen. Es basiert auf shiro und bietet viele zusätzliche Funktionen und Flexibilität.

Sie können installieren Sie den neuesten mit:
grails install-plugin nimble 0.4-SNAPSHOT

flink Dokumentation

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top