本文翻译自MSEXCHANGE.ORG
当用户启用了EXCHANEG 2003的OWA的表单访问(FBA)后,用户将可以看到一个漂亮的验证页面。默认情况下,用户将可以使用domain\username或username@domain.com两种方式登录。但往往用户希望实现只输入用户名就可以登录。怎么做呢?
我们想到的肯定是去修改IIS管理器里的基本验证后的域名(默认是"\")为你的实际域名,但遗憾的是,修改后只能保留一段时间,一旦重新启动或15分钟后,该设置就会恢复。这是怎么回事呢?
大家如果认真的研究过,就会发现在ESM里也有虚拟目录的配置,如图:
500)this.width=500" border=0而下面是IIS管理器里的设置。
500)this.width=500" border=0大家可以看到ESM里的设置是灰色的,不可修改的,而IIS里的设置是可改的,而EXCHANGE设计是从ESM(也就是AD里)读取配置到IIS里,因此在IIS里的修改将不能保留。详细情况请参考:
240105 - XGEN: General Information on Directory Service/Metabase Synchronization in Exchange 2000 Server
264941 - XCCC: Changes to Virtual Directory Settings Are Not Maintained
830827 - How to Use Forms Based Authentication with Outlook Web access Clients in Exchange Server 2003
820378 - Outlook Web Access session unexpectedly quits when forms-based authentication is used
所以IIS里的配置是不能修改的。那么我们要怎么做呢?显然要去修改登录页面。
1、找到OWA的页面文件,在C:\PRogram Files\Exchsrvr\exchweb\bin\auth\usa (这里是英文版的)如果是中文的,则是对应语言目录。页面文件名logon.asp.
2、找到如下内容:
If g_fIsMSIE5Rich Then %
scroll="AUTO" bgColor="#3D5FA3" text="#000000" leftMargin=0 topMargin=0
action="/exchweb/bin/auth/owaauth.dll" method="POST" name="logonForm" autocomplete="off"
Else %
scroll="AUTO" bgColor="#FFFFFF" text="#000000" onload="window.document.logonForm.username.focus()"
action="/exchweb/bin/auth/owaauth.dll" method="POST" name="logonForm"
End If %
3、将其中的 action="/exchweb/bin/auth/owaauth.dll" method="POST" name="logonForm" autocomplete="off"替换成以下脚本:
ipt Language=javascript
function logonForm_onsubmit()
{
if (logonForm.username.value.indexOf("@") !=-1)
{
return true;
}
logonForm.username.value = "NetBIOS domain here\\" + logonForm.username.value;
return false;
}
//
action="/exchweb/bin/auth/owaauth.dll" method="POST" name="logonForm" autocomplete="off" onsubmit="logonForm_onsubmit()"
NOTE:
这里的NetBIOS domain here要替换成你的域名的简格式,如果域叫ABC.COM,则写成ABC。
4、继续寻找该文件的第20行的以下内容:
CONST L_UserName_Text = "Domain\username:"
将其中的"Domain\"删除,同时也将24、25、26行的同样内容删除。
修改后的界面:
500)this.width=500" border=0如果你使用上述代码后登录出现问题,也可以使用下面的两段代码:
1.
action="/exchweb/bin/auth/owaauth.dll" method="POST" id="logonForm" autocomplete="off" onsubmit="logonForm_onsubmit()"
2.
action="/exchweb/bin/auth/owaauth.dll" method="POST" name="logonForm" autocomplete="off" onsubmit="logonForm_onsubmit()"
另外要注意的是安装补丁或SP有可能删除或重新安装登录页面。请注意备份。,