Disclaimer The opinions expressed herein are my own personal opinions and do not represent my employer's view in anyway.
I recently helped a co-worker solve a problem with SharePoint and user account password expiration. The SharePoint site in question uses local accounts to give access to SharePoint. These accounts are only used for SharePoint access and will never have anything to do with Exchange or logging into a desktop. Company security policy requires 90 day password changes and also for the initial password to be changed immediately.
The problem arises when one of these SharePoint users log in to the site with ‘User Must Change Password at Next Logon’ checked on their local account (or when the password has expired). The user can successfully enter their id and password, but they aren’t allowed into the site because they must change their password. Since they are authenticating through IIS to SharePoint, there are no facilities out of the box to notify them of the ‘must change password’ condition. With a few simple steps, you can provide this functionality to the user.
There is a big CAVEAT EMPTOR here! These steps will provide a web based password change mechanism to your users. These steps will also provide a password change mechanism to those who are not your users. This public password change page exposes you to a DOS attack against your accounts. If I know the name of one of your accounts, I can go this page and issue multiple bad passwords in an attempt to change the password. This will trigger an account lockout (assuming you have enabled account lockout) which will prevent the real user from accessing SharePoint.
Ok. To setup the password change feature, you have to do the following:
At this point you should be ready to go. If you have any problems, there is a good Microsoft Knowledge Base article at http://support.microsoft.com/kb/833734/ on troubleshooting.
The password change functionality in IIS uses a number of pages in the IISADMPWD directory. Here is a brief explanation of which is which:
/iisadmpwd/achg.asp: This page does the actual password change work.
/iisadmpwd/aexp.asp: This page displays the password change form for a user whose password has expired. Make sure that you type the account name in the "domain\username" format.
/iisadmpwd/aexp3.asp: This page displays the password change form when SSL is not used.
/iisadmpwd/anot.asp: This page appears when a user's password expires earlier than the number of days that are specified in the PasswordExpirePreNotifyDays entry.
/iisadmpwd/anot3.asp: This page appears if a user's password expires earlier than the number of days that are specified in the PasswordExpirePreNotifyDays entry when SSL is not used.
Remember Me