Passwort-Verschlüsselung-Algorithmus in Glassfish 4
Ich habe mir vor kurzem aktualisiert Glassfish von 3.1.2 auf 4.0 und wollte, um einen JDBCRealm, die ich verwendet, bevor Sie auf meine app die formularbasierte Authentifizierung verwendet. Die Passwörter sind Hashwerte mit SHA-256 in der Datenbank (das ist die Standard-Hash-Algorithmus-option).
Reich hat eine Eigenschaft, die obligatorisch in das Glassfish-version: - Passwort-Verschlüsselungsalgorithmus. Ziemlich unglaublich, die offiziellen Glassfish-Dokumentation sagt, es ist optional, und der Hinweis unter dem Eingabefeld sagt, es ist ein Risiko lassen Sie es leer, aber Sie können nicht lassen Sie es leer, wie es vorgeschrieben ist.
Ich kann mich nicht einloggen in meine app, war vor der Arbeit, egal was ich eingestellt habe, in dieser Eigenschaft. (Dies gilt sowohl für die neu registrierten und alte Benutzer.) Ich war googeln für Tage, aber konnte Sie nicht finden, die Optionen für dieses Feld. Was sind die Optionen?
Auch, ich bin mit Glassfish mit MySQL. Tut Glassfish senden Sie die Hash-Passwörter verschlüsselt in die DB oder ist es nur einige Anweisungen, um MySQL zum speichern der Hash-Passwörter, die mit dieser Art der Verschlüsselung?
Diese Frage half mir ein wenig, aber nicht mein problem lösen.
UPDATE: Tatsächlich, ich glaube nicht, das klassische FORMULAR-basierte Authentifizierung, aber eine benutzerdefinierte JSF-form mit Programmatischer login mit HttpServletRequest#login()
, aber ich glaube nicht, dass es darauf ankommt, in dieser Ausgabe.
- Haben Sie versucht, "none"?
- Ja, ohne Glück.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Habe ich getestet, einen einfachen Anwendungsfall mit Glassfish 4.1 und ein JDBC Realm konfiguriert für MySQL.
Können Sie eine einfache Tabelle user:
Passwort (ohne spicken)
I. e.
In der admin-Konsole Konfigurationen > Sicherheit > Reiche und Bearbeiten Sie Ihre Reich.
In der "Password Encryption Algorithm" - Feld geben Sie "AES".
In der "Digest-Algorithmus" im Feld "SHA-256".
In der "Charset" - Feld geben Sie "UTF-8".
Severe: jdbcrealm.invaliduser
undWarning: WEB9102: Web Login Failed: com.sun.enterprise.security.auth.login.common.LoginException: Login failed: Security Exception
. Versucht, es zu lösen, für Stunden jetzt, habe versucht, mehrere verschiedene Kombinationen für die Passwort-Verschlüsselung-Algorithmus, etc.Für zukünftige Referenz für alle, die auf diese Frage suchen, wie Glassfish-Konfiguration verwendet "Passwort-Verschlüsselungs-Algorithmus" in JDBCRealm. Ich warf einen Blick in den code und es scheint gar nicht verwendet: Link, Permalink.