Print Thread
Problem with New Password with expired users
#33080 01/07/09 08:25 PM
Joined: Apr 2004
Posts: 8
San Antonio, TX
H
Hawkeye Offline OP
Member
OP Offline
Member
H
Joined: Apr 2004
Posts: 8
San Antonio, TX
Environment: Delphi 7, DOA 4.1
We are having a problem when user's password enter the expiration grace period and they are prompted for a new password. All user accounts are assigned a profile that has a password verification function. The password must have, at a minimum, 2 Upper, 2 Lower, 2 Numbers, and 2 Special Characters. The only Special Characters allowed are the # (pound sign) and the _ (underscore). This function works correctly when a user's password is modified directly from oracle (SQL*Plus). When the password is changed via our application it doesn't cause the verify password function to run and users change their password to something that includes non-valid special characters (an @ for example). When they then try to login using the new password it won't let them. We need to either turn off the automatic pop-up of the change password dialog or intercept the OK button click on the dialog to make sure they only are using a # or _ as their special character.

In our application we have a TOracleSession (orclsnMXT) and a TOracleLogon (orclLogon) components (in a datamodule). During the application startup we call a procedure that initiates the login process. Our code is as follows ( abbreviated):

dtmdlMXTMain.orclsnMXT.LogonDatabase := DefaultDB;
dtmdlMXTMain.orclLogon.Options := dtmdlMXTMain.orclLogon.Options -[ldDataBaseList] - [ldDataBase];

We then loop through the ParamStr and set the LogonDatabase, LogonUsername, and LogonPassword and change the orclLogin.Options to add back the ldDataBaseList (if needed) if there were any values in the ParamStr. Once that is done we then run the following:

if dtmdlMXTMain.orclLogon.Execute then
blnLoggedIn := True

It is during the execute of the orclLogon that the Change Password dialog appears and then changes the password. I cannot find a property setting to disable this action nor can I figure out where I can intercept the new password to make sure it meets our criteria. Can you help me with this problem.

Thanks
Richard Anderson

Re: Problem with New Password with expired users
Hawkeye #33142 01/16/09 06:19 PM
Joined: Apr 2004
Posts: 8
San Antonio, TX
H
Hawkeye Offline OP
Member
OP Offline
Member
H
Joined: Apr 2004
Posts: 8
San Antonio, TX
Does anyone have any ideas?

Re: Problem with New Password with expired users
Hawkeye #33149 01/19/09 11:38 AM
Joined: Aug 1999
Posts: 22,208
Member
Offline
Member
Joined: Aug 1999
Posts: 22,208
It is a bit surprising that Oracle will allow you to change the password to a value that does not pass the verification function. We'll look into this.

The TOracleLogOn component does indeed not have an event to intercept the password change process. The only solution would be to create a new logon dialog and handle the password change as described in the User's Guide.


Marco Kalter
Allround Automations

Moderated by  support 

Link Copied to Clipboard
Powered by UBB.threads™ PHP Forum Software 7.7.4
(Release build 20200307)
Responsive Width:

PHP: 7.1.33 Page Time: 0.096s Queries: 14 (0.072s) Memory: 2.5042 MB (Peak: 3.0380 MB) Data Comp: Off Server Time: 2024-05-06 06:42:34 UTC
Valid HTML 5 and Valid CSS