2016-06-02 15 views
0

Hallo Ich habe es geschafft, container-verwaltete Authentifizierung in Weblogic 12c mit einem SQLAuthenticator zu implementieren. Ich melde mich erfolgreich bei den Benutzern an, die ich in der Datenbank erstellt habe, wenn die Kennworteinstellung in den anbieterspezifischen sqlauthenticator-Einstellungen auf PLAINTEXT gesetzt ist und der Datenbankwert nicht verschlüsselt ist.Wie implementiert man eine Container-verwaltete Authentifizierung mit einem Hash-Passwort in weblogic 12c?

Wenn ich das Kennwort des Benutzers in der Datenbank am speichert den folgenden Code verwenden, obwohl ich mich nicht einloggen kann:

String encPass = "{SHA-1}" + new sun.misc.BASE64Encoder() 
.encode(java.security.MessageDigest.getInstance("SHA1") 
.digest(newUser.getPassword().getBytes())); 

das Passwort „weblogic1“ dieser Wert Durch die Bereitstellung in der DB gespeichert: {SHA-1} r49g3WeQasgoe6ODQ + 5fa4Ic5tk =

In meinen SQLAuthenticator-Provider-spezifischen Einstellungen habe ich "Plaintext Passwords Enabled" auf false gesetzt, "Password Style Retained" auf true, Password Algorithm: auf SHA-1 gesetzt.

Wenn ich laufen

request.login(email, password); 

Es Authentication wirft Fehlgeschlagen Ausnahme ...

Was mache ich falsch?

Antwort

0

OK, mein Code läuft jetzt korrekt, aber ich weiß nicht warum. Die einzige Sache, die ich änderte, ist, dass ich einige Beschreibungen Spalten zu meinen Tabellen hinzugefügt und meine Abfragen in der Provider-Beschreibung entsprechend fixiert. Dies sollte die Anmeldung nicht beeinflussen, nur die Benutzererstellung von der Weblogic-Konsole, die nicht funktioniert hat. Vielleicht brauchte Weblogic nur ein paar Neustarts IDK.

0

Ein wenig spät, aber ich denke, ich kann das für Sie beantworten.

Aus dem Klang der Dinge, war Ihr Code in der Tat richtig, wie Sie jedoch festgestellt haben, waren Ihre Tabellen nicht richtig eingerichtet.

Wenn Ihre RDBMS-Authentifizierung konfigurieren, wird angenommen, dass Sie drei Tabellen in der DB haben, sind sie:

  • Benutzer (Benutzername, Passwort, Beschreibung)
  • Gruppenmitglieder (Gruppenname, Gruppenmitglied)
  • Gruppen (Gruppenname, Beschreibung)

ich erwarte, dass Sie meist dort waren, aber die Beschreibung Spalte für die „Benutzer“ und „Gruppen“ Tabellen verursacht wurde Ihre pro fehlt befleckt.

Sie können für weitere Informationen Online-Dokumentation auf diesen Link von Oracle finden Sie unter:

https://docs.oracle.com/cd/E21764_01/web.1111/e13707/atn.htm#SECMG195