首次登录并在数据库中注册.虽然现在我遇到了第二次无法登录的问题.
"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)
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)