Password verify function en wachtwoord wijzigen in Oracle

Het is in Oracle mogelijk om te zorgen dat wachtwoorden aan bepaalde voorwaarden voldoen. Oracle kent hiervoor een zogenaamde password verify function. Dit is een databasefunctie in het schema van sys, die op basis

van het oude en nieuwe wachtwoord true of false oplevert. In het eerste geval is het wachtwoord in orde; in het tweede geval is het niet geschikt. Oracle levert een standaard functie hiervoor mee in het script %ORACLE_HOME%rdbmsadminutlpwdmg.sql.

De functie heet in 11g verify_function_11g. Deze zorgt ervoor, dat een wachtwoord uit minimaal 8 karakters bestaat waarvan minimaal 1 numeriek en 1 alfabetisch karakter. Het wachtwoord moet anders zijn dat de databasenaam of de databasesnaam met een nummer erachter, de gebruikersnaam of de gebruikersnaam met een nummer erachter, en de gebruikersnaam achterstevoren. Ook moet het nieuwe wachtwoord minimaal drie karakters anders zijn dan het oude wachtwoord.  U kunt ook zelf een functie schrijven.

Deze password verify function moet opgegeven worden in een profile welke weer gekoppeld kan worden aan een gebruiker:

SQL> create profile voorbeeld_profile
2  limit password_verify_function verify_function_11g ;

SQL> alter user willem profile voorbeeld_profile;

Wanneer nu het wachtwoord wordt gewijzigd van willem dan wordt gecontroleerd of het wachtwoord voldoet aan de gestelde eisen. Als dit niet het geval is, zal er een foutmelding gegeven worden:

SQL> alter user willem identified by abc replace alexander;
alter user willem identified by abc replace alexander
*
ERROR at line 1:
ORA-28003: password verification for the specified password failed
ORA-20001: Password length less than 8

Wat opvalt is dat we hier bij het wijzigen van het wachtwoord met behulp van het keyword replace het oude wachtwoord ook opgegeven hebben. Dit is noodzakelijk als een gebruiker die geen alter user systeemprivilege heeft het wachtwoord wil wijzigen. Als dit wordt vergeten, wordt onderstaande foutmelding gegeven:

SQL> alter user willem identified by abc;
alter user willem identified by abc
*
ERROR at line 1:
ORA-28221: REPLACE not specified

Dit, en vele andere mogelijkheden van een Oracle database komen terug in de
Oracle Database 11g opleidingen
.

Onderwerpen
Actieve filters: Wis alle filters
Pageloader
Algemene voorwaarden

Jouw persoonsgegevens worden opgenomen in onze beschermde database en worden niet aan derden verstrekt. Je stemt hiermee in dat wij jou van onze aanbiedingen op de hoogte houden. In al onze correspondentie zit een afmeldmogelijkheid