IE / Firefox kullanırken, PHP, aktif dizini kullanarak ldap kimlik doğrulaması

2 Cevap php

Ldap karşı kullanıcının kimlik çekler için aşağıda bu kod

<?php
$ldaphost = "ldap.domain.com";
$ldapport = 389;

$ds = ldap_connect($ldaphost, $ldapport)
or die("Could not connect to $ldaphost");

if ($ds) 
{
    $username = "johndoe@domain.com";
    $upasswd = "pass";

    $ldapbind = ldap_bind($ds, $username, $upasswd);

    if ($ldapbind) 
        {print "Congratulations! $username is authenticated.";}
    else 
        {print "Access Denied!";}
}
?>

Benim kullanıcılar Firefox ve IE kullanmak, ve ben sorunsuz onların ActiveDirectory kimlik bilgilerini iletebilirsiniz biliyorum.

Ben sadece bu yüzden eğer, kimlik bilgileri girmek aksi istemi, sayfayı görüntülemek, bu kullanıcı adı orada bulunan olup olmadığını görmek için AD grubunu kontrol etmek istiyorum.

Bizim kullanıcıları zaten etki alanı denetleyicisi olarak kaydedilir beri, ben, onların adı kapmak bu özel grupta bulundu, sonra onları görmek için izin kontrol giriş kimlik aksi istemi kullanıcı istiyorum. Bu nasıl mümkün olur?

2 Cevap

Aslında size web sunucusu olarak IIS kullanmak aslında verilen istediklerini elde etmek için PP kod Active Directory sunucusu ile iletişim kurmak gerekmez.

Burada anahtar kelime Integrated Windows Authentication - that's the wording djn looked for. Bu seçenek açıksa (ve anonim erişim engellendi) IIS istenen kaynakların Active Directory ve NTFS dosya sistemi ayrıcalıkları karşı sağlanan kimlik bilgilerini kontrol edecektir. Bu nedenle basit NTFS erişim denetim mekanizmalarını kullanarak dosyalara erişimi kontrol edebilirsiniz.

Kullanıcıların IE kullanıyorsanız onlar bile bu sözde SPNEGO (Basit ve Korumalı GSSAPI Müzakere Mekanizması) ve onun altında yatan mekanizmalar yoluyla otomatik olarak yapılmış olduğu kimlik bilgilerini yazmanız gerekmez Kerberos veya NTLMSSP istemci ve sunucu işleme yeteneğine ne bağlı.

Bildiğim kadarıyla Firefox otomatik olarak çok sunucuya Windows oturum açma kimlik bilgilerini teslim edebilir. Sen bu özelliği açmak için bir configuration option ayarlamak zorunda ony - Bu bilgi hala Firefox 3.5.x. ile geçerli olup olmadığını bilmiyorum

Bir * nix sistem üzerinde Apache çalıştıran eğer bir Integrated Windows Authentication-benzeri sistem işlemek için bazı sunucu-tarafı-modülüne başvurmak zorunda olacak. Olası seçenekler (aslında hala tutulan veya stabil olup olmadığını bilmiyorum) şunlardır:

Windows üzerinde Apache için vardır:

Bu modüllerin çoğu çok eski gibi görünüyor unutmayın.

Benzer bir kurulumda sadece şimdi çalışıyor: Ben web sunucusu (üzgünüm, ben M $ alternatif evren denilen bu ne hatırlayamıyorum) onu icar önce AD ​​ile müşteri kimlik doğrulaması sahip LDAP şeyler her atlanır.

Müvekkilinin AD bulunuyor PHP komut dosyası ulaşır ve ben de $_SERVER["AUTH_USER"] ve $_SERVER["LOGON_USER"] hem de onun adı var, aksi takdirde o komut geçmez.