Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Oracle Passwordänderung nach 90 Tage erzwungen! (https://www.delphipraxis.net/125389-oracle-passwordaenderung-nach-90-tage-erzwungen.html)

lnaemi 5. Dez 2008 07:26

Datenbank: Oracle • Version: ??? • Zugriff über: SQL-String

Oracle Passwordänderung nach 90 Tage erzwungen!
 
Liebe leute!
ich kenne mich mit oracle nicht aus und weiss nicht, was alles oracle anbietet. in datenbank habe ich einen user-tabelle, aber der beinhaltet kein password-spalte bzw. password-daten.

das alte code, die bisjetzt zu passwordänderung diente schaut so aus:

Delphi-Quellcode:
procedure TfrmMain.btnOkClick(Sender: TObject);
var
  query: String;
begin
    TRY
        if (edtPasswrd.Text = '') Or (edtNewPasswrd.Text = '') Or (edtConfirmation.Text = '') then
          Application.MessageBox('Es sind nicht alle notwendigen Felder ausgefüllt!', 'Achtung!')
        else begin
          if edtNewPasswrd.Text = edtConfirmation.Text then begin
            query := '';
            query := 'alter user ' + trim(edtUser.Text) + ' identified by ' + trim(edtNewPasswrd.Text);
            DM.qryUpdate.SQL.Clear;
            DM.qryUpdate.SQL.Add (UpperCase(query));
            DM.qryUpdate.ExecSQL;

            Application.MessageBox('Ihr Passwort wurde geändert!', 'Achtung');
          end
          else
            Application.MessageBox('Neues Passwort und Bestätingung stimmen nicht überein!', 'Error');
        end;

    EXCEPT
      on E: EDatabaseError do ShowMessage(E.Message);
    ELSE
     Application.MessageBox('Passwort ändern fehlgeschlagen!', 'Fehler!');
    END;
end;
1) jetzt muss ich aber den user erzwungen, nach 90 tagen sein password zu ändern. :wall: wie soll ich das machen?
2) password soll auch mit einem zahl beginnen können? was dagegen spricht weiss nicht, kann sein dass oracle so was nicht erlaubt? und was soll ich machen? - mit jetzige code geht das auf jeden fall nicht!

3) password muss auch sonderzeichen beinhalten können.
4) und anmeldename soll in groß oder kleinbuchstaben eingeben werden können. :coder2:

ich bin für eure hilfe sehr dankbar! :xmas:

mkinzler 5. Dez 2008 07:33

Re: Oracle Passwordänderung nach 90 Tage erzwungen!
 
Zitat:

1) jetzt muss ich aber den user erzwungen, nach 90 tagen sein password zu ändern. ouch! wie soll ich das machen?
Zusätzlich datum der letzten Änderung mit ablegen.
Delphi-Quellcode:
4) und anmeldename soll in groß oder kleinbuchstaben eingeben werden können.
Wandele es mit UpperCase in Großbuchstaben um.

DeddyH 5. Dez 2008 07:40

Re: Oracle Passwordänderung nach 90 Tage erzwungen!
 
Oder einfach hier nachlesen.

lnaemi 5. Dez 2008 09:40

Re: Oracle Passwordänderung nach 90 Tage erzwungen!
 
Zitat:

Zitat von DeddyH
Oder einfach hier nachlesen.

danke, das war ein tolle seite.
ich habe jetzt profile limit mit 90 tagen.

wie frage ich aber in delphi den profile ab? :pale:

ULIK 5. Dez 2008 10:02

Re: Oracle Passwordänderung nach 90 Tage erzwungen!
 
Schau Dir mal die Tabellen DBA_PROFILES und DBA_USERS an :-) (Mußt schauen, ob Du die entsprechenden Rechte dazu hast, wenn Du aus der Anwendung drauf zugreifen willst)

Grüße,
Uli

lnaemi 5. Dez 2008 11:26

Re: Oracle Passwordänderung nach 90 Tage erzwungen!
 
Zitat:

Zitat von ULIK
Schau Dir mal die Tabellen DBA_PROFILES und DBA_USERS an :-) (Mußt schauen, ob Du die entsprechenden Rechte dazu hast, wenn Du aus der Anwendung drauf zugreifen willst)

Grüße,
Uli

danke, habe ich nachgeschaut. ja es geht, die user haben alle profile default mit limit 90 tagen.
und wie soll ich jetzt von delphi aus abfragen, ob die 90 tagen schon um sind? :pale:

ULIK 5. Dez 2008 12:30

Re: Oracle Passwordänderung nach 90 Tage erzwungen!
 
Wenn sich der User anmeldet an Oracle und sein Zeitlimit ist abgelaufen, dann dürfte wohl die Anmeldung fehlschlagen (hab's selbst noch nicht getestet). Das könntest Du auswerten und entsprechend drauf reagieren.

Uli

DeddyH 5. Dez 2008 12:34

Re: Oracle Passwordänderung nach 90 Tage erzwungen!
 
In diesem Falle wird Oracle vermutlich eine Fehlernummer zurückgeben. Die müsste man halt auswerten, um zwischen Falscheingaben und einem Ablauf des Passworts unterscheiden zu können. Allerdings sind das alles Vermutungen meinerseits, da ich kein Oracle zur Verfügung habe.

lnaemi 5. Dez 2008 12:48

Re: Oracle Passwordänderung nach 90 Tage erzwungen!
 
Zitat:

Zitat von DeddyH
In diesem Falle wird Oracle vermutlich eine Fehlernummer zurückgeben. Die müsste man halt auswerten, um zwischen Falscheingaben und einem Ablauf des Passworts unterscheiden zu können. Allerdings sind das alles Vermutungen meinerseits, da ich kein Oracle zur Verfügung habe.

stimmt, ich habe jetzt einen life_limit mit 4 tage eingesetzt, also montag Dienstag sollte ich eine fehlermeldung bekommen und weiss ich dann vielleicht mehr.
:xmas:

nahpets 5. Dez 2008 12:56

Re: Oracle Passwordänderung nach 90 Tage erzwungen!
 
Hallo,

und wie immer: Google ist Dein Freund ;-)

Habe mal gestöbert und das gefunden, da steht auch einiges zum Passwort, eventuell hilft es Dir ja weiter.

Eventuell hilft auch derda (Oracle Password Expiration)?

In DBA_USERS gibt es doch die Spalte EXPIRY_DATE, liefert die Dir das gewünschte Datum?


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:01 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz