10 Mayıs 2012 Perşembe

MapInfo Mapbasic ile Microsoft Active Directory

MapInfo yazılımı içerisinde kullanılmak üzere Mapbasic ile geliştirilen yazılımların belirli kullanıcılar tarafından kullanılması gerekebilmektedir. Bu çoğunlukla veritabanında kayıtlı tutulan kullanıcı kayıtları ile gerçekleştirilmektedir. Ancak Microsoft Active Directory servisinin kullanıldığı kurumsal bilişim altyapıları üzerinde kullanılacak MapInfo+Mapbasic temelli uygulamaların kullanıcı denetimlerinin sadece veritabanı üzerinden yapılması çok da efektif olmamaktadır. Kullanıcılar haklı olarak bilgisayarlarını açarken domaine dahil olmalarını sağlayan kullanıcı adları ve şifreleri tüm kurumsal uygulamalarda kullanmak istiyorlar. Biz de bunun için halen geliştirmekte olduğumuz tüm MapInfo+Mapbasic temelli uygulamalarımızın kurumumuzdaki Active Directory servisinden kullanıcı denetimi gerçekleştiren küçük bir DLL dosyasını C# ile oluşturduk. Bu DLL dosyasını siz de Mapbasic kodlarınız içerisinde aşağıdaki gibi kullanabilirsiniz. DLL dosyasını buradan indirebilirsiniz.

include "mapbasic.def"
declare sub main
declare method UserAuthenticateS
    class "GsxAuthentication4Apps.GsxAuthentication"
    Lib "GsxAuthentication4Apps.dll"(Byval username as string,Byval password as string,Byval pldapadress as string) as string
'DLL dosyamızın içerisindeki methodu declare ediyoruz.
sub main
    dim username,password as string
    dialog title "Kullanıcı Girişi"
    control statictext title "Kullanıcı Adı" position 10,10
    control edittext value "" position 75,5 into username
    control statictext title "Şifre" position 10,30
    control edittext value "" password position 75,25 into password
    control okbutton title "Tamam"
    control cancelbutton title "İptal"
    if commandinfo(CMD_INFO_DLG_OK) then
        dim sncx as string   
        sncx=UserAuthenticateS(username,password,Active Directory Servisinin Adresi)
        if len(sncx)>0 and sncx="Doğru" then 'DLL dosyasındaki Method Geriye "Doğru" veya "Yanlış" string değeri döndürüyor.
            'Kullanıcının Veritabanında Yetkili Kullanıcı Olarak Kayıtlı Olup Olmadığı Kontrol Edilmelidir.
        end if
    end if
end sub

Hiç yorum yok:

Yorum Gönder