Active Directory Bağlantısı Ekim 2009 | Sayı : 7

Merhaba sevgili okurlar. Bu ayki yazım benim çalışırken karşılaştığım bir ihtiyacın çözümüyle ilgili.

Büyük şirketlerde çalışanların kullandığı onlarca yazılım olabilir. Bu yazılımlara örnek izin takibi, insan kaynakları, proje yönetimi veya raporlar için kullanılan programlar olabilir. Bu programları kullanabilmek için bir kullanıcı adınız ve şifreniz olmalı. Bu bilgiler ile sisteme giriş yaparsınız. Genelde her program için ayrı bir kullanıcı adı-şifre kombinasyonu kullanılır; bu çöplük içerisinde kullanıcıların hangi şifrenin hangi programa ait olduğunu hatırlaması zordur.  Bizden bu soruna bir çözüm getirmemiz istendi, yani ortak bir kullanıcı adı-şifre olması ve tüm programlarda bunun kullanılması gerekiyordu.

Ortak şifre için düşünülen çözüm şöyle oldu: Şirkette tüm bilgisayarlar bir domain’ e bağlı ve her kullanıcının bu domain’ de kullanıcı bilgileri var. Bu bilgileri kullanırsak kullanıcılar bilgisayarlarını açarken kullandıkları şifrelerini tüm programlar için de kullanabilir ve bu sorunu çözmüş oluruz. Bu çözüme karar verdikten sonra yapmamız gerekler active directory’ e bağlanıp kullanıcı adı ve şifre sorgulaması yapmak ve tüm sistemlere bunu entegre etmek, tabii ortak bir veritabanı tablosunda active directory kullanıcılarının tüm yazılımlardaki primary key değerlerini tutmak. Her programa hem active directory hem de bu veritabanına bağlantı fonksiyonlarını eklemek büyük bir sorun. Bazı sistemler taşeron ekipler tarafından yürütülüyor ve bu kodlardaki özel bilgilerin bu kişilere verilmesi imkansız. Bu soruna çözüm olarak ya bir dll yani jar ya da bir web servisi yazmalıydık. Ben web servisi yazmanın daha güvenli olduğuna karar verdim çünkü jar dosyaları decompile edilebilir ve içeriğine ulaşılabilir. Peki nedir web servisleri?

Web servisleri XML tabanlı çalışan platform bağımsız yapılardır. Web servislerinin sahip olduğu fonksiyonlara uzaktan erişebiliriz, gerekli parametreleri gönderip sonuçlar alabiliriz. Teori kısmını atlayıp size bir web servisinin kurulumunu anlatacağım. Sahip olduğum IDE Netbeans 6.7 ve web server olarak Apache Tomcat kullanıyor olacağım. Web servisi için gerekli kütüphaneleri http://cxf.apache.org/ adresinden indirebilirsiniz.

Buradan sonra ilk olarak aşağıdaki gibi bir web.xml dosyasını düzenliyoruz.


Web xml’ i düzenledikten sonra bir interface oluşturuyoruz. Bu interface bizim servis içinde kullanacağımız metotları içerecek.


Şimdi de LoginService interface’ini  implemente eden servisimizi yazıyoruz.


Bu servisin kullandığı activeDirectoy classını daha sonra yazacağız. Bu class’ ın içinde active directory kodlarını yazmamız iyi bir tasarım olmazdı. Servisimizi oluşturmak için son olarak service.xml dosyasını oluşturuyoruz ve Login paketi içine koyuyoruz.


Artık servisimiz hazır. Son olarak Can Çobanoğlu arkadaşımın geliştirdiği activeDirectory class’ını ve ona bağlı classları projeme ekliyorum.

 


Artık size gönderdiğiniz kullanıcı adı ve şifre parametrelerine göre bunların doğru olup olmadığını söyleyen bir web servisiniz var. Ben bu servise ek olarak, bir veritabanı tablosunda her kullanıcının diğer yazılımlardaki kullanıcı adı ya da id’ sini tutuyorum. Bu şekilde parametre olarak hangi yazılım için kullanıcı adı istediğimi de gönderip tüm yazılımlar için ortak bir sistem oluşturdum. Hatalı giriş olursa dönen sonuç null olacak. İşte servisin görünümü.

Bu servisi projenize eklemek için projenize sağ tıklayıp “add web service” i tıklamalısınız. Bundan sonra servise girdiğinizde görecek olduğunuz WSDL adresi ile servisi projenize eklemiş olacaksınız. Bundan sonra bir fonksiyonun içinde sağ tıklayıp “insert code”  dedikten sonra “web service operation” ı seçerek web servisinin login fonksiyonuna erişebilirsiniz.

Böyle bir servisin faydalarından bir diğeri ise hangi kullanıcının hangi saatlerde hangi sisteme girdiğini rahatlıkla kayıt altına alabilmenizdir. Bu web servisine bir flood engelleyici de eklerseniz en tehlikeli güvenlik açığını da kapatmış olursunuz. Umarım bu yazım sizin için faydalı olmuştur. Okuduğunuz için teşekkür ederim.

      Mustafa Burak AMASYALI
İ.Ü. Bilgisayar Mühendisliği 4. Sınıf
- Ekim 2009 -
Editörden... | Eren BAŞAR Google Chrome OS - Windows Rekabeti Devam Ediyor | Murat BAYRAKTAR Entegrasyon Değil Konsolidasyon | Ömer TURHAN Karıncalar Solucanlara Karşı | Neslişah ÇELİK Bing | Feyzan SARUHAN Siz Hayal Edin, Biz Yapalım! | Muhammed CÜCE Oyun Tanıtımı | Erman TEPE Beyin Önceden Programlanmış Olabilir Mi? | Özge ATASEVEN Active Directory Bağlantısı | Mustafa Burak AMASYALI İş Sürekliliği | Mehmet Akif BULUT Gelecek Teknolojileri | Cihat GÜZEL IP Santraller | Ercan ZENGİN
« önceki sayfa - 8 - sonraki sayfa »

ana sayfa | arşiv | dergimiz | künye | iletişim | yazarlar için...
© 2009-2010 Bilisimdergi.Com Tasarım - Kodlama : İU BİLGİSAYAR

Creative Commons License
Bilişim Dergi içeriği  Creative Commons  lisansı ile korunmaktadır.
Kaynak göstermek ve link vermek şartıyla yazılarımızı kullanabilirsiniz.