Oracle JDBC - Password Expired

holtiwilan

Mitglied
Hallo.
Ich habe folgendes Problem.

Ich stelle per Oracle JDBC eine Verbindung zu einem Oracle Server her.
Alles soweit prima.
Aber was mache ich, wenn das Userpasswort abgelaufen (expired) ist.
Ich habe ja keine connection zum Server um per "alter user .." mein eigenes Passwort zu ändern, oder? Bei mir das jedenfalls nicht. Hat jemand eine Idee für mich?



Vielen Dank.

Tim
 
Hallo,

du musst dich nur als Admin (Sys/System) einloggen (oder einen Sysadmin Fragen) um deinen Account wieder zu entsperren.

Gruß Tom
 
Hallo.
Ich glaube, ich habe mich falsch ausgedrückt.
Ich suche nach einer lösung, das der User, der sich versucht mit meiner Applikation auf dem Server anzumelden, sein Abgelaufenes Passwort selbst ändern kann.
Das geht ja mit anderen Oracle Anwendungen auch.

Ich dachte an so was wie:

Code:
try {
          repositoryConnection = connector.Connect(false,URL, User, Passwd);
} catch (Exception ex) {
          if (ex.toString().indexOf("ORA-28001") != -1) {
              System.out.println("Password Expired");
              //hier dann das setzen des neuen Passwortes mit "alter user...."

Mein Problem ist nur, das ich ja durch den gescheiterten Versuch, den User auf dem Server anzumelden, keine Verbuíndung zu diesem habe, um ein alter user abzusetzten.

Ich wäre für einen Ansatz, ohne DBA Anmeldung auf dem Server sehr dankbar.

Viele Grüße

Tim
 
Hallo,

...
Ich wäre für einen Ansatz, ohne DBA Anmeldung auf dem Server sehr dankbar.
Damit wirds dann schon etwas komplizierter. Eine Möglichkeit wäre es einen zusätzlichen Account (usermaintenance) der nur das Recht hat eine Stored procedure aufzurufen. Diese Stored procedure könnte dann den Account für einen gesperrten User wieder aktivieren. Als Eingabeparameter bekommt die Prozedur dann den Username und das Password des gesperrten Users und ein Freischalteschlüssel. Der Account wird nur dann wieder freigeschaltet wenn die Username und Passwort Kombination für den User stimmt und der Freischalteschlüssel passt. Der Freischalteschlüssel würde beim Auslaufen des Accounts automatisch per Batch-Job generiert und irgendwo für diesen einen User vermerkt mit der Erlaubnis sich selbst wieder freischalten zu dürfen.
Dieser Schlüssel kann dan dem User (auf Anfrage) zugesendet werden.

Gruß Tom
 
Zurück