Skip to content

Instantly share code, notes, and snippets.

@ptsakyrellis
Last active April 7, 2020 12:50
Show Gist options
  • Save ptsakyrellis/c81538755ec178736c1e277a7c50deb0 to your computer and use it in GitHub Desktop.
Save ptsakyrellis/c81538755ec178736c1e277a7c50deb0 to your computer and use it in GitHub Desktop.
<?php
namespace MyApp\DataFixtures;
use Doctrine\Bundle\FixturesBundle\Fixture;
use Doctrine\Persistence\ObjectManager;
use Symfony\Component\Ldap\Entry;
use Symfony\Component\Ldap\Ldap;
class LdapUserFixtures extends Fixture
{
public function load(ObjectManager $manager)
{
$ldap = Ldap::create('ext_ldap', ['connection_string' => 'ldap://sf4ldap:389']);
$ldap->bind('cn=admin,dc=sf4app,dc=org', 'myadminpasswd');
$entryManager = $ldap->getEntryManager();
// Adding Organizational Unit
$ou = new Entry('ou=People,dc=sf4app,dc=org', ['objectClass' => ['organizationalUnit'], 'ou' => ['People']]);
$entryManager->add($ou);
$entries = [
new Entry(
'cn=user1,ou=People,dc=sf4app,dc=org',
[
'objectClass' => ['personnel'],
'sn' => ['My User1'],
'cn' => ['user1'],
'mail' => ['user1@sf4app.org'],
'myadditionnalAttr' => ['Value1'],
'myadditionnalAttr2' => ['Value2']
]
),
new Entry(
'cn=user2,ou=People,dc=sf4app,dc=org',
[
'objectClass' => ['personnel'],
'sn' => ['My User2'],
'cn' => ['user2'],
'mail' => ['user2@sf4app.org'],
'myadditionnalAttr' => ['Value1'],
'myadditionnalAttr2' => ['Value2']
]
)
];
foreach ($entries as $entry) {
$entryManager->add($entry);
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment