Daha önceki makalelerimde ISA Server 2004 üzerinden Outlook Web Access (OWA) publish edilmesini incelemiştik. Publish sonrasında OWA logon penceresini ISA Server 2004 üzerinde FBA seçerek görüntülemeye başlayabiliyoruz. Bu şekilde istemcileriniz Exchange Server üzerindeki OWA’ya ulaşmadan önce ISA Server üzerindeki OWA arayüzünü görüntülemeye başlayacaklardır. İşlemlerin sonucunda ortaya çıkabilecek bir durum olan domain adı yazmadan OWA web sayfasına oturum açamama durumuna ISA Server üzerinde bir workaround getireceğiz.
Backslash ve domain adı (domain\username) yazılmadan OWA’ya oturum açılmak istenildiğinde The spelling in this item can’t be checked. Try again later. hata mesajı alınabilir. Özellikle kullanıcı bazında düşündüğümüzde bu küçük ayrıntı gözden kaçabiliyor. Öyle ki kullanıcınız sizi arayıp maillerime ulaşamıyorum dediğinde, sorunun domain adı ve backslash kullanmamaktan kaynaklandığını anlamanız zamanınızı alacaktır. Sonuç ise hem kullanıcı tarafında hem de sizin tarafınızda boşa geçen dakikalar olacak.
Domain\username şablonunu kullanmadan logon olunmaya çalışıldığı durumlarda karşılaşılacak hatalar için, Exchange Server tarafında http://support.microsoft.com/?kbid=820378 makalesi referans alınabilir. Fakat OWA, ISA Server 2004 üzerinden publish edilirken FBA seçilirse bu yapılandırma geçerliliğini kaybedecektir. İşte bu noktada ISA Server üzerindeki logon formlarını tutan CookieAuthTemplates klasörü içindeki Logon_MSIERich.htm ve strings.txt dosyalarında değişikliğe gidilmesi gerekiyor.
String.txt Dosyası İçin
1. CookieAuthTemplates klasörünün yedeğini alalım.
2. String.txt’yi açalım. 19=Domain\user name: cümlesini bulalım ve bu satırdaki Domain\’i silelim.
3. 50=“Your session has expired.” cümlesini bulalım ve bu satırdaki domain\’i silelim.
4. “51=You could not be logged on to Outlook Web Access.” cümlesini bulalım ve bu satırdaki domain\’i silelim.
5. strings.txt dosyasını kayıt edelim ve çıkalım.
Artık ikinci dosyamıza geçebiliriz.
Logon_MSIERich.htm Dosyası İçin
1. <FORM> ile başlayan satırı bulalım ve bu satırın hemen üzerine aşağıdaki kodu ekleyelim:
<script language="JavaScript">
<!–
function logonForm_onsubmit()
{
if (logonForm.username.value.indexOf("@") !=-1)
return true;
logonForm.username.value = "<Your NetBIOS domain name>\\" + logonForm.username.value;
return false;
}
//–>
</script>
2. <Your NetBIOS domain name> alanına kendi domain netbios adınızı yazın.
3. Son değişikliklerden sonra dosya içindeki kod aşağıdaki gibi olmalı:
<script language="JavaScript">
<!–
function logonForm_onsubmit()
{
if (logonForm.username.value.indexOf("@") !=-1)
return true;
logonForm.username.value = "<Your NetBIOS domain name>\\" + logonForm.username.value;
return false;
}
//–>
</script>
<FORM action="/CookieAuth.dll?Logon" method="POST" name="logonForm" autocomplete="off" onsubmit="logonForm_onsubmit();" />
4. Logon_MSIERich.htm dosyasını kayıt edelim ve çıkalım.
5. Microsoft Firewall hizmetini restart edelim.
Tüm işlemlerden sonra artık kullanıcılarınız ISA 2004 üzerinden FBA ile publish edilmiş OWA sayfasına ulaşmak istediklerinde Domain adı ve slash işaretini kullanmalarına gerek kalmadan oturum açabilecek hale geleceklerdir.
Not: Bu modifikasyon, ISA üzerine çıkabilecek herhangi bir güncelleme ile geçersiz kalabileceği için Microsoft tarafından önerilmez.
Referanslar
Outlook Web Access session unexpectedly quits when forms-based authentication is used