I've been busy working on a
Microsoft Exchange 2003 upgrade for the past 6 weeks or so (hence the no posts in February thing) and finally rolled a new front-end server into production yesterday. A couple of minor snags along the way, but no major issues to report. What I do want to share is how I went about customizing the
Outlook Web Access form-based authentication logon form to allow users to enter their user ID sans any prefixed domain information.
Those with multiple domains need not apply, as this hack assumes the existence of a single domain. Those of you that are not implementing form-based authentication will find little value in this approach. Keep in mind that future SPs and point releases may change/overwrite this file, so always keep backups. All caveats, aside, open up the logon.asp file located on your Exchange 2003 front-end Exchange server in the Exchsvr/Exchweb/bin/auth/[country] folder and:
- Rename the 'name' and 'id' attributes of the input element that accepts the user name input to 'username_pre'.
- Create a new hidden input element with name and id attributes equal to 'username'.
- Change the username.focus() references to username_pre.focus().
- Change the label 'username' reference to 'username_pre'
- Remove references to 'Domain\' in the form label constants
- Add a JavaScript string manipulation function that cleanses the user input text and concatenates domain information to it.
- Add an onClick attribute to the submit input element that calls the function above.
Voila! No need for users to worry about the domain. And why should they? It's not important to them - email is. At any rate, hopefully all of this sort of backwoods code manipulation activity goes away when Microsoft realizes the need and creates a simple configuration option in future versions of Exchange. Until then, no reason not to
download and implement this hack.