On 18/01/13 10:14, David O'Brien wrote:
<snip>

Do you know of any way to validate a user's username and password? I want them to have to put in their existing password before changing.

We use M$ Threat Management Gateway to handle the password changing, which requires that the user has authenticated before showing the change password screen.
Our custom code is used to allow users to reset their password.

HTH

D

*From:*[email protected] [mailto:[email protected]] *On Behalf Of *David Moorhouse
*Sent:* Thursday, 17 January 2013 8:46 p.m.
*To:* NZ Borland Developers Group - Delphi List
*Subject:* Re: [DUG] IADsUser Change Password

Here's the code that I use to reset the password, having opened the ADS connection using an "LDAP://" <LDAP://> string.

var

UserObject: IADsUser;

...

if UserObject.AccountDisabled then

begin

FErrorMessages.Add(Format('Cannot reset password, AD user account for %s is disabled', [FUserDN]));

Exit(false);

end;

UserObject.SetPassword(FNewPassword);

UserObject.SetInfo; (* Complete the operation to update the user object. *)

UserObject := nil;

...

Hope this helps

D

*Subject: *

        

Re: [DUG] IADsUser Change Password

*Date: *

        

Wed, 16 Jan 2013 19:46:27 +1300

*From: *

        

David O'Brien <[email protected]> <mailto:[email protected]>

*Reply-To: *

        

NZ Borland Developers Group - Delphi List <[email protected]> <mailto:[email protected]>

*To: *

        

NZ Borland Developers Group - Delphi List <[email protected]> <mailto:[email protected]>

Great thanks, I don't want to reset at next login, just change the password, so that shouldn't be a problem.

*From:*[email protected] <mailto:[email protected]> [mailto:[email protected]] *On Behalf Of *David Moorhouse
*Sent:* Wednesday, 16 January 2013 5:35 p.m.
*To:* [email protected] <mailto:[email protected]>
*Subject:* Re: [DUG] IADsUser Change Password

I've done something similar but ran into problems when I forced a password change at the next login. Some AD rules only allow one password change per day !

I'll look at some code tomorrow for you.

D

On 16/01/13 17:02, David O'Brien wrote:

    I am attempting to put together an easy way for users to change
    domain password when they are out of the office, (or if they have
    a MAC).

    IADSUser.Setpassword(NewPassword) works, but doesn't do any checks.

    IADSUser.ChangePassword(OldPassword, NewPassword) checks that the
    old password is correct but always fails the new password with
    "The password does not meet the password policy requirements..."
    Doesn't matter how complex I make the password.

    Note: I can change the password normally on the domain without a
    problem, so I know the passwords I am trying to change to are
    complex enough.

    Anyone played with this before?

    I am using:

    Var

    User: IADsUser:

    ADsOpenObject( 'WinNT://' + edtUser.Text, '[Administrator]',
    '[admin password]', 1, IADsUser, User) ;

    User.ChangePassword(edtPass.Text, 'c0mpl!anse');

    Regards,

    Dave.






    _______________________________________________

    NZ Borland Developers Group - Delphi mailing list

    Post:[email protected]  <mailto:[email protected]>

    Admin:http://delphi.org.nz/mailman/listinfo/delphi

    Unsubscribe: send an email [email protected]  
<mailto:[email protected]>  with Subject: unsubscribe



_______________________________________________
NZ Borland Developers Group - Delphi mailing list
Post: [email protected]
Admin: http://delphi.org.nz/mailman/listinfo/delphi
Unsubscribe: send an email to [email protected] with 
Subject: unsubscribe

_______________________________________________
NZ Borland Developers Group - Delphi mailing list
Post: [email protected]
Admin: http://delphi.org.nz/mailman/listinfo/delphi
Unsubscribe: send an email to [email protected] with 
Subject: unsubscribe

Reply via email to