7 Nisan 2014 Pazartesi

Dspace <-> LDAP Entegrasyonu

Bu yazıda Dspace kurumsal dijital arşiv yazılımının kurumunuzda hali hazırda başka hizmetler(Email,yazılım kimliklendirme(authentication), vb.) için kullanılan LDAP dizin hizmeti ile entegrasyonunu anlatacağım.

Bu entegrasyon sayesinde kurumunuzdaki kullanıcılara dspace üzerinde tekrardan kullanıcı adı ve şifre oluşturup gönderme işinden kurtulmuş olacaksınız ayrıca tek şifre olduğu için kullanıcılar ayrı bir şifre hatırlamak zorunda kalmayacaklar.

DSpace çoklu ve aşamalı kimliklendirmeyi(authentication) desteklediği için hem el ile oluşturulan kullanıcılar hem de LDAP da bulunan kullanıcılar aynı anda sisteme giriş yapabilmektedirler.

DSpace yazılımında varsayılan olarak el ile oluşturularan kullanıcılar giriş yapabilmektedirler. Biz buna ek olarak LDAP kimliklendirme modülünün ayarlarını yapıp aktif edeceğiz.

 Ayarları DSpace 4.x için ve Linux tabanlı sistemler için yapacağız. Ayarları yaparken İngilizce bilenler DSpace Authentication Plugins sayfasından adımları takip edebilirler.

 DSpace de değişiklik yapacağımız dosyalar aşağıda listelenmiştir.
/dspace/config/modules/authentication.cfg - Ldap kimlendirmenin aktif edildiği dosya
/dspace/config/modules/authentication-ldap.cfg - Ldap sunucu ayarlarının yapıldığı dosya

Linux komut satırında metin editörü olarak nanoyu kullanmaktayım isteyenler pico veya vi kullanabilirler.

Öncelikle authentication-ldap.cfg dosyasında LDAP sunucumuzun ayarlarını yapacağız. bize gerekli olan alanları LDAP  sistem yöneticimizden temin edebiliriz. Linux terminalinde komut satırına aşağıdaki komutu girererek authentication-ldap.cfg dosyasındaki gerekli değişiklikleri yapıyoruz.


nano /dspace/config/modules/authentication-ldap.cfg
 
Dosya içerisinde belirtilen ayarları yapıyoruz. 

enable = true #LDAP kimliklendirmeyi aktif hale getirmek için
autoregister = true # Dspace içinde Otomatik kullanıcı kaydı oluşturmak için

provider_url = ldap://ldapsunucuadi.okuladi.edu.tr/ #ldap sunucusunun adresi eğer güvenli (ssl) ldap protokolü ise ldaps://  kullanılacaktır.
id_field = uid # kullanıcı adının tekil olarak saklandığı alan genelde uid dir bu ayar.
object_context = ou=iyteusers,dc=iyte,dc=edu,dc=tr #kullancıların LDAP ağacında nerde tutulduklarını gösterir
search_context =  ou=iyteusers,dc=iyte,dc=edu,dc=tr #object_context ile genelde aynı ayar yapılır.

email_field = mail #kullanıcı email adresinin  LDAP da hangi alanda tutulduğunu gösterir
surname_field = sn #kullanıcı soyadının LDAP da hangi alanda tutulduğunu gösterir.
givenname_field = givenName #kullanıcı adının LDAP da hangi alanda tutulduğunu gösterir
phone_field = r-ilk-telefon #kullanıcı telefon numarasının LDAP da hangi alanda tutulduğunu gösterir

#login.specialgroup = group-name #bu ayar grouplara göre role atama işi için kullanılacak fakat bu yazıda bundan bahsedilmeyecek.

search_scope = 2 #LDAP ağacında hangi derinliğe kadar arama yapılacağını belirten ayar bu 2 olsun.

search.anonymous = false #kullanıcıları LDAP sunucusundan sorgularken anonim sorgulama yapılıp yapılmayacağını belirten ayar
search.user =  cn=ldap_yonetici_kullanici_adi,dc=okuladi,dc=edu,dc=tr
search.password = ldap_yonetici_sifresi

#netid_email_domain = @example.com #LDAP sunucuda tam email adresleri yoksa domain adını buraya yazınız.



Gerekli değişiklikleri yaptıktan sonra kaydedip çıkıyoruz ve sıra geldi ayarlarını yaptığımız LDAP kimliklendirme modülünü aktif etmeye. Bunun için ayar yapmamız gereken dosya ise authentication.cfg dosyası demiştik. Bu dosyada gerekli değişiklikleri yapmak için linux terminalinde aşağıdaki komutu çalıştırıyoruz.

nano /dspace/config/modules/authentication.cfg

Dosya içerisinde LDAP satırını ekliyoruz,

plugin.sequence.org.dspace.authenticate.AuthenticationMethod = \
        org.dspace.authenticate.PasswordAuthentication,\
        org.dspace.authenticate.LDAPAuthentication

Bu değişikliğide yaptıktan sonra uygulama sunucumuzu(biz tomcati kullanıyoruz) tekrardan başlatıyoruz.

service tomcat7 restart

Her şey yolunda gittiyse web arayüzünden giriş yapmak istediğinizde karşınıza iki seçenek çıkacaktır birisi el ile oluşturulmuş kullanıcılar için  password kimliklendirme diğeri ise ldap seçeneği.






5 yorum:

  1. Mesut Bey,

    LDAP uygulamasını yeni kurduğumuz DSpace 4.1 sürümünde denedik. Gayet başarılı bir şekilde çalışıyor.
    Katkın için çok teşekkür ederim.

    YanıtlaSil
    Yanıtlar
    1. Rica ederim Sönmez Bey. İyi Çalışmalar

      Sil
  2. Sade anlatımlarınız için çok teşekkür ederim.
    Çalışma yoğunluğumuz azaldıktan sonra umarım ben de makaleler yazmaya başlarım.
    İyi çalışmalar

    YanıtlaSil
  3. Merhabalar.
    LDAP ile giriş yapan kullanıcılar aynı zamanda DSPACE veritabanında da kayıtlı olmaları gerekirmi? LDAP sunucusundaki kullanıcılar DSPACE eperson tablosuna eklenmeleri gerekmekte midir? Eğer kayıtlı olması önemli değilse, LDAP ile giriş yapan kullanıcılar DSPACE'e veri ekleme vegibi imkanları var mıdır?
    Teşekkürler.

    YanıtlaSil
  4. Kayıtlı olması gerekmiyor fakat siz sonradan rol atayabilirsiniz ve ilgili kolleksiyonda submitter yapabilirsiniz.

    YanıtlaSil

İzleyiciler