All Projects → ldaptools → ldaptools-bundle

ldaptools / ldaptools-bundle

Licence: MIT license
Provides easy LDAP integration for Symfony via LdapTools.

Programming Languages

PHP
23972 projects - #3 most used programming language
HTML
75241 projects

Projects that are alternatives of or similar to ldaptools-bundle

ldap write support
👥🖎 create, edit and delete LDAP users and groups from Nextcloud
Stars: ✭ 15 (-69.39%)
Mutual labels:  ldap
ldapscripts
Simple shell scripts to handle POSIX entries in an LDAP directory
Stars: ✭ 20 (-59.18%)
Mutual labels:  ldap
ldap-log
一个LDAP请求监听器,摆脱dnslog平台和java
Stars: ✭ 33 (-32.65%)
Mutual labels:  ldap
mjml-bundle
✉️ Symfony bundle for MJML
Stars: ✭ 87 (+77.55%)
Mutual labels:  symfony-bundle
AD-webmanager
A web interface for administration of Active Directory Domains, made in Python, with focus on easy of use and simplicity.
Stars: ✭ 26 (-46.94%)
Mutual labels:  ldap
FCMBundle
A Bundle for Symfony projects to send notifications in mobile devices through Firebase Cloud Messaging API
Stars: ✭ 43 (-12.24%)
Mutual labels:  symfony-bundle
GuzzleBundleOAuth2Plugin
OAuth2 Plugin for GuzzleBundle
Stars: ✭ 13 (-73.47%)
Mutual labels:  symfony-bundle
rabbitmq-auth-backend-cache
Authorisation result caching plugin (backend) for RabbitMQ
Stars: ✭ 17 (-65.31%)
Mutual labels:  ldap
vmam
VLAN Mac-address Authentication Manager
Stars: ✭ 19 (-61.22%)
Mutual labels:  ldap
node-ldap
node ldap client
Stars: ✭ 24 (-51.02%)
Mutual labels:  ldap
annotation-cache-bundle
Annotation based caching for services inside a symfony container
Stars: ✭ 16 (-67.35%)
Mutual labels:  symfony-bundle
guzzle6-bundle
Integrates Guzzle 6 into your Symfony application
Stars: ✭ 11 (-77.55%)
Mutual labels:  symfony-bundle
menu-bundle
Extends the KnpMenuBundle to work with PHPCR ODM
Stars: ✭ 32 (-34.69%)
Mutual labels:  symfony-bundle
features-bundle
Symfony bundle for managing feature tags
Stars: ✭ 18 (-63.27%)
Mutual labels:  symfony-bundle
existing-ldap-docker-registry
This is a docker application to run Docker Registry behind an Ngnix in order to obtain an authentication method using a company Active Directory.
Stars: ✭ 29 (-40.82%)
Mutual labels:  ldap
dockerfiles
Dockerfile文件集合
Stars: ✭ 34 (-30.61%)
Mutual labels:  ldap
lexik-jose-bridge
An Encoder for the LexikJWTAuthenticationBundle that uses web-token/jwt-framework
Stars: ✭ 27 (-44.9%)
Mutual labels:  symfony-bundle
KtwDatabaseMenuBundle
Symfony bundle for extending KnpMenu to store menu items in a database.
Stars: ✭ 12 (-75.51%)
Mutual labels:  symfony-bundle
response
Response HTTP package for Simfony, Laravel, Lumen and PHP 7 with standard REST API
Stars: ✭ 14 (-71.43%)
Mutual labels:  symfony-bundle
lldap
Light LDAP implementation
Stars: ✭ 1,402 (+2761.22%)
Mutual labels:  ldap

LdapToolsBundle Build Status AppVeyor Build Status Scrutinizer Code Quality Latest Stable Version


The LdapToolsBundle provides easy integration of LDAP for Symfony via LdapTools.

  • An LDAP authentication provider, including AdvancedUserInterface support.
  • An LDAP form type to easily use LDAP objects in forms.
  • An LDAP type for Doctrine to easily store and retrieve LDAP results in a Doctrine entity.
  • Logging capabilities for LDAP operations.
  • Web Debug Toolbar integration for LDAP operations.
  • Integration of LdapTools events for LDAP operations (authentication, creation, modification, etc) using service tags.

Note: The LdapTools library requires PHP 5.6+.

Installation

The recommended way to install the LdapToolsBundle is using Composer:

composer require ldaptools/ldaptools-bundle

Then enable the bundle in the kernel:

// app/AppKernel.php
class AppKernel extends Kernel
{
    public function registerBundles()
    {
        $bundles = array(
            // ...
            new LdapTools\Bundle\LdapToolsBundle\LdapToolsBundle(),
        );

        // ...
    }
}

Getting Started

After installing the bundle you can run the following command to assist in generating/testing your LDAP config:

# It will prompt for some basic questions (LDAP server, username/password to use, etc)
php bin/console ldaptools:generate:config

Adding your domain(s) to the config.yml file is as easy as the following example:

# app/config/config.yml
ldap_tools:
    domains:
        # The below "example" key can be anything you want. It just has to be a unique name for the YML config.
        example:
            # The LDAP FQDN is required
            domain_name: example.local
            # The username to use for the LDAP connection
            username: foo
            # The password to use for the username
            password: secret
            # The base DN for LDAP searches (queried from the RootDSE if not provided)
            base_dn: "dc=example,dc=local"
            # The LDAP servers to use for the connection (Queried from DNS if not provided)
            servers: ["dc1", "dc2", "dc3"]
        # Define another domain if you want
        foo:
            domain_name: foo.bar
            username: foo
            password: bar
            servers: ['dc1.foo.bar', 'dc2.foo.bar']
            base_dn: 'dc=foo,dc=bar'

Domain configuration options are also documented in the LdapTools documentation.

Then in your controller you can use the ldap_tools.ldap_manager service to query/modify/create LDAP objects...

class DefaultController extends Controller
{
    public function indexAction()
    {
        $ldap = $this->get('ldap_tools.ldap_manager');
        
        $users = $ldap->buildLdapQuery()->fromUsers()->getLdapQuery()->getResult();
        
        $users->count();
        foreach ($users as $user) {
            $user->getFirstName();
            $user->getLastName();
            $user->getUsername();
        }
        
        # ...
    }
}

Generate/Retrieve Your LDAP SSL Certificate

If you want a quick way to retrieve your server's LDAP SSL certificate you can run a simple command to output it:

# Just supply your LDAP server name...
php bin/console ldaptools:generate:sslcert --server "servername"

Documentation

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].