Firefox ile IIS Windows Authentication Kullanımı

Bilindiği üzere IIS te Windows Authentication kullanıldığında Internet Explorer oturum açan kullanıcı bilgilerini IIS e göndermektedir ancak Firefox kullanıyorsanız güvenlik nedenleri ile varsayılan olarak Firefox kullanıcı bilgilerini sunucuya göndermez. Özellikle biz geliştiriciler için Firefox un sağladığı imkanlar inkar edilemez. Peki bu kadar güzel özellikleri olan Firefox u Windows Authentication etkin olan uygulamalarda nasıl kullanabiliriz?

Evet Firefox ta yapacağımız bir ayar değişikliği ile bunu etkin hale getirebiliriz. Bu bilgiden sonra iki güvenlik kriteri gözümüzde canlanmalı.

  1. Yapacağımız ayar sadece belirttiğimiz domainlerde yada url de etkin olmalı
  2. Yaptığımız ayarlar development ortamında güvenli ancak son kullanıcıda bu işlemi yapmak riskli mi?

Birinci kriter ile devam edelim. Firefox ta Windows Authentication bilgilerini sunucuya göndermesini sağlamak için aşağıdaki adımlar izlenir.

  • Firefox ta adres satırına : about:config yazıp enter tuşuna basın. Bir güvenlik uyarısı çıkacaktır bu uyarıya evet ne yaptığımı biliyorum kardeş sen merak etme deyip geçin.
  • Configuration ayarları açıldığında arama bölümüne network.automatic-ntlm-auth.trusted-uris yazmaya başladığınızda filtre uygulanacaktır.
  • Listelelen ayarlardan network.automatic-ntlm-auth.trusted-uris seçeneğine çift tıklayın.
  • Açılan pencereye Windows Authentication özelliğinin etkin olmasını istediğiniz domain yada url leri virgül (,) ile ayırarak yazın: Örn: localhost, 127.0.0.1, abc.com gibi. Domain belirtirken birden çok subdomain için verecekseniz sadece root url girmeniz yeterli.
  • Tamam diyerek pencereyi ve Firefox u kapatın tekrar açtığınızda işte özlediğiniz özellik. İnsan kaybettiği bir şeyi bulmuş gibi seviniyor :))

İkinci kritere gelecek olursak bu ayarları development ortamında yapmak en azından bizim açımızdan güvenli ancak bu özelliği bu domaindeki tüm client lara uygulamak mantıklı bir çözüm müdür?. Bence bu kısım kullanıcı tarafından seçilebilir olmalı kullanıcı bir uygulamayı kullanırken Firefox için tekrar şifre girmeyi istemiyorsa bu ayarı etkinleştirmeli ancak bunu da kontrollü bir şekilde yapmalıdır.

– Peki bu kontrolü nasıl sağlayabiliriz?

– Burada benim önerim bir windows forms uygulaması ile bu ayar istenilen user tarafından atanabilmeli. Yazacağımız uygulama ise sadece belirli bir url yada domain için bu ayarları set etmeli. Yapacağımız bu uygulamayı da domaindeki herkes tarafından erişilebilecek bir lokasyonda barındırırsak ne ala.

Tamam windows uygulaması yapalım ama bu ayarlar nerede saklanır önce onu bilmek gerek. Bu konuyu da ikiye ayırmak gerekir kurulu olan Firefox yada Portable çalışabilen Firefox.

  1. Firefox ayarları prefs.js dosyasında saklanmaktadır. İşletim sistemlerine göre bu dosyanın yeri değişmektedir. Sisteme kurulu olan Firefox uygulamalı için :
    •  Windows XP de : \Documents and Settings\<kuıllanıcı adı>\Application Data\Mozilla\Firefox\Profiles\<profil ID si>.default\ 
    • Windows Vista ve Windows 7 de : \Users\<kullanıcı adı>\AppData\Roaming\Mozilla\Firefox\Profiles\<profil ID si>.default\
      dizinlerinde saklanır.
  2. Portable olarak kullanılanlarda ise : <FirefoxPortable Dizini>\Data\profile\ klasöründe saklanmaktadır.

Yazacağımız uygulama bu dosya üzende ilgili satırı bulup değiştirmelidir.

Peki bunu yapmanın başka bir yolu var mıdır deyip ben de araştırdım başka alternatifler var yada düşünülebilir.

  1. Bir firefox eklentisi yazılabilir ki yazılmış zaten ama yine adresleri kullanıcının girmesi isteniyor. Eklenti linki burada. Ancak bu eklenti son kullanıcı için hedeflediğimiz portföye tam uymadı gibi. Manuel girecekse config den de bu ayarları yapabilir. O halde bu eklentiye kendi domainimizi ekleyip derlesek otomatik giriş yapılmasını sağlasak nasıl olur? Yapabiliriz sanırım biraz araştırmak lazım.
  2. Firefox kurulum dosyasını FirefoxSetup.exe yi editleyip yapabiliriz. Aşamalarını aşağıya ekliyorum. Fakat bizim hedefimiz de kurulu olan sistemler yok muydu? O halde bu seçenekte biraz uzak gibi.
    1. 7-zip programı ile Firefox Setup.exe dosyası extract edilir.
    2. Bu klasörde all.js aranarak bulunur tahminen “nonlocalized\greprefs” klasöründedir.
    3. Bu dosya notepad ile açılıp yukarıda anlattığım ilgili ayar yapılır. Kaydedip çıkılır.
    4. Daha sonra bu klasör ziplenir ve FirefoxSetup.zip ismi verilir.
    5. Kurulum yapacak kişiler zip ten açar ve setup.exe ile kurar böylece yeni kurulacak olanlara istediğimiz ayarlar ulaşır.
  3. Domaine bağlı tüm kullanıcılarda bu işlemi yapacak bir script çalıştırılabilir.(Bu işi sistem yöneticileri daha iyi bilirler onlardan görüş almakta fayda var)

Sonuç olarak ulaşılabilecek çözümlerden size uygun olanını seçebilirsiniz. Ben ne yaptım onu merak ediyorsunuzdur. Şu anda developer ortamında manuel ayarlama yaptım. Diğer alternatiflerden Firefox eklentisi oluşturmak yada Windows uygulaması yapmak arasında denemeler yapacağım. Hangisi istediğim gibi olursa sizinle paylaşacağım. Biraz sabır.

 

Güncelleme 01.11.2011:

Tesadüfen bu yazının sonucunu girmediğimi farkettim. Sonuçta Firefox ektlentisi yazdım izin vermek istediğim domainleri eklenti içine hardcoded olarak ekledim.

Share on FacebookShare on Google+Tweet about this on TwitterShare on LinkedInPin on PinterestShare on RedditDigg thisEmail this to someonePrint this page

Post Author: mustafaozcan

Firefox ile IIS Windows Authentication Kullanımı” için bir yorum

  • 2el

    (3 Eylül 2010 - 06:34)

    Hocam elinize sağlık, okurken yeni olaylarla karşılaşmak çok sevindirici, paylaşımınız için teşekkürler

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir