⚓
Liman Eklenti Geliştirme
  • Hoşgeldiniz!
  • Başlangıç
    • Geliştirme Ortamı Kurulumu
    • Yeni Eklenti Oluşturma
  • Genel Bilgiler
    • Dosya ve Dizin Yapısı
    • Kontrolcüler
    • Rotalar
    • Veritabanı Mantığı
    • Bileşen Mantığı
    • Paket Bağımlılığı Eklemek
    • PHP Yardımcı Fonksiyonları
    • JS Yardımcı Fonksiyonları
  • Geliştirme
    • Sunucuda Komut Çalıştırmak
    • Sunucuda Betik Çalıştırmak
    • Dosya Yükleme, İndirme
    • Protokol Bağlantıları (LDAP, SMB)
  • Arayüz Elemanları
    • Tablo
    • Modal
    • Dosya Yükleme
    • Görev (Task)
  • İleri Seviye
    • Toolkit Kullanımı
    • Yerelleştirme
    • Composer
    • DB Kütüphanesi
Powered by GitBook
On this page
  • Örnek LDAP Bağlantısı
  • Örnek SMB Bağlantısı

Was this helpful?

Export as PDF
  1. Geliştirme

Protokol Bağlantıları (LDAP, SMB)

Liman eklentilerinizde belirli protokole nasıl bağlanabileceğinizi öğreneceğiz.

PreviousDosya Yükleme, İndirmeNextTablo

Last updated 3 years ago

Was this helpful?

Liman sisteminde eklenti geliştirirken belirli protokollerle çalışmanız gerekebilir. Böyle bir durumda ek bir kütüphane veya destekliyorsa doğrudan php'nin fonksiyonlarını kullanabilirsiniz.

Örnek LDAP Bağlantısı

LDAP protokolünü PHP diliyle kütüphaneye gerek olmadan kullanabilirsiniz. Fakat eklentinize php7.3-ldap debian paketini bağımlılık olarak eklemelisiniz.

LDAP protokolüyle bind olabilmek için kullanıcıdan kullanıcı adı ve şifre gibi bilgileri istemeniz gerekebilir. Eklenti veritabanı ile bu bilgileri kullanıcıdan isteyebilirsiniz.

Sonrasında ise bağlantı açıp istenilen veriler alınmaya başlanabilir.

$connection = ldap_connect('ldaps://' . server()->ip_address); //eklentinin eklendiği sunucunun ip adresi ile LDAPS protokolünü kullanarak bağlantı açıyoruz.
ldap_bind($connection, extensionDb('clientUsername'), extensionDb('clientPassword')); //eklenti veritabanına yazdığımız keylere göre kullanıcının LDAP kullanıcı adı ve şifresiyle bind oluyoruz.
$result = ldap_search($connection, "DC=baran,DC=lab", "(cn=*)"); //base dn'e göre arama yapıyoruz.
$data = ldap_get_entries($connection, $result); //arama sonuçlarını alıyoruz.
dd($data); //dönen sonuçları debug etmek için dd helperını kullanıyoruz. 

Detaylı bilgi için:

Örnek SMB Bağlantısı

SMB bağlantısı için icewind/smb kütüphanesini kullanabilirsiniz. Bu kütüphaneyi kullanmak için de bazı php debian modüllerini kurmanız gerekebilir. php-smbclient ve smbclient debian paketlerini eklentinizin bağımlılıklarına ekleyebilirsiniz.

  • Paket kurulumu için aşağıdaki komutu eklenti dizininizde çalıştırabilirsiniz.

composer require icewind/smb
  • Paketi kurduktan sonra kütüphaneyi kullanmaya başlayabilirsiniz.

$options = new Options();
$options->setTimeOut(5);
$serverFactory = new ServerFactory($options);
$auth = new BasicAuth(extensionDb('clientUsername'), 'workgroup', extensionDb('clientPassword'));
$server = $serverFactory->createServer(server()->ip_address, $auth);
$share = $server->getShare('SYSVOL');
dd($smb->read('ORNEK_PATH'));

Daha fazla bilgi için:

Paket Bağımlılığı Eklemek
Veritabanı Mantığı
https://www.php.net/manual/tr/ref.ldap.php
Composer
https://github.com/icewind1991/SMB