标签: fr3dldapbundle

FOS和Fr3d ldap捆绑了symfony2.1

首次登录并在数据库中注册.虽然现在我遇到了第二次无法登录的问题.

"symfony/symfony": "2.1.*"
"fr3d/ldap-bundle": "2.0.*@dev"
Run Code Online (Sandbox Code Playgroud)

我见过类似的问题,但如果"bindRequiresDn:true"我进入我的日志:

[2013-07-10 11:37:18] ldap_driver.DEBUG:ldap_bind(Nikita,**)[] []

[2013-07-10 11:37:18] ldap_driver.DEBUG:0x1:无法检索帐户的DN:Nikita [绑定需要DN格式的用户名] [] []

并且无法登录.

但如果我改变:

... /供应商/ fr3d/LDAP束/ FR3D/LdapBundle /驱动程序/ ZendLdapDriver.php

 if ($user instanceof LdapUserInterface && $user->getDn()) {
     $bind_rdn = $user->getDn();
 } else {
     $bind_rdn = $user->getUsername();
 }
Run Code Online (Sandbox Code Playgroud)

 if ($user instanceof LdapUserInterface) {
    $bind_rdn = $user->getDn();
 } else {
    $bind_rdn = $user->getUsername();
 }
Run Code Online (Sandbox Code Playgroud)

一切都很好.

我的配置

 fr3d_ldap:
    driver:
        host:                     "%ldap_host%"
        port:                     "%ldap_port%"
        username:                 "%ldap_username%"
        password:                 "%ldap_password%"
        baseDn:                     ou=hello, dc=h, dc=i, dc=ru
        bindRequiresDn:        true
        accountFilterFormat: (&(samaccountname=%s)) …
Run Code Online (Sandbox Code Playgroud)

ldap symfony fr3dldapbundle

6
推荐指数
1
解决办法
1139
查看次数

使用FOSUserBundle和FR3DLdapBundle丢失数据库列

  • 我按照FOSUserBundle文档(文档)和FR3DLdapBundle(文档)中的说明进行操作
    • FOSUserBundle需要扩展BaseUser类,而FR3DLdapBundle需要User Class来实现LdapUserInterface接口
    • 在我的情况下,这导致这样的类:

use FOS\UserBundle\Model\User as BaseUser;
use Doctrine\ORM\Mapping as ORM;
use FR3D\LdapBundle\Model\LdapUserInterface;

/**
* @ORM\Entity
* @ORM\Table(name="fos_user")
*/
class User extends BaseUser implements LdapUserInterface
{

/**
 * @ORM\Id
 * @ORM\Column(type="integer")
 * @ORM\GeneratedValue(strategy="AUTO")
 */
protected $id;

private $dn;

/**
 * the constructor
 */
public function __construct() {
    parent::__construct();
    // your own logic
}

/**
 * {@inheritDoc}
 */
public function getDn() {
    return $this->dn;
}

/**
 * {@inheritDoc}
 */
public function setDn($dn) {
    $this->dn …
Run Code Online (Sandbox Code Playgroud)

orm symfony doctrine-orm fosuserbundle fr3dldapbundle

3
推荐指数
1
解决办法
3233
查看次数