directorytree/ldaprecord-browser
LDAPRecord Browser is a Laravel package that adds a web UI for browsing, searching, and inspecting LDAP directories. View entries and attributes, navigate the tree, and debug connections quickly during development or administration.
LdapRecordBrowserServiceProvider reduces manual configuration, fitting Laravel’s dependency injection and service container ecosystem.directorytree/ldaprecord-laravel (v2.0+), which must be installed separately. This introduces two dependencies (LDAP + Livewire) but follows Laravel’s composer-based modularity..env or config/ldap.php, which is standard but requires initial setup effort.adldap2 or phpLDAPadmin) + frontend integration be more maintainable?directorytree/ldaprecord-laravel (v2.0+) and livewire/livewire (v2.x)..env:
LDAP_HOST=ldap.example.com
LDAP_BASE_DN=dc=example,dc=com
LDAP_USERNAME=cn=admin,dc=example,dc=com
LDAP_PASSWORD=securepassword
composer require directorytree/ldaprecord-browser
config/app.php edits needed).php artisan vendor:publish --tag=ldaprecord-browser-views
@livewire('ldap-record-browser')
php artisan tinker
>>> \LdapRecord\Laravel\LdapRecord::connection()->search();
directorytree/ldaprecord-laravel, which uses php-ldap (must be enabled in php.ini).ldaprecord-laravel) may need patches if issues arise (no active maintenance)..env.example + Git ignore).spatie/ray (included in dev dependencies) for LDAP query inspection.| Failure Scenario | Impact | Mitigation |
|---|---|---|
| LDAP server downtime | UI breaks, no directory access | Implement retry logic + fallback UI messages. |
| Invalid LDAP credentials | Authentication errors | Use .env validation + alerting. |
| Livewire component crashes | Partial UI failure | Wrap in @error Blade directives. |
| PHP LDAP extension disabled | Package fails to initialize | Verify php-ldap is enabled in php.ini. |
| Livewire/Laravel version conflict | Component breaks | Test in a staging environment pre-deployment. |
app/Http/Livewire/LdapRecordBrowser.php).ldaprecord-laravel documentation.search() filters).baseDn, attributes).How can I help you explore Laravel packages today?