2014-11-20 4 views
1

security.ymlSymfony2 Помнить но НЕ Аутентифицированный

security: 

    role_hierarchy: 
     ROLE_ADMIN: ROLE_USER 
     ROLE_SUPER_ADMIN: [ROLE_USER, ROLE_ADMIN] 

    encoders: 
     Karl\UserBundle\Entity\User: plaintext 

    providers: 
     main: 
      entity: 
       class: Karl\UserBundle\Entity\User 
       property: email 

    firewalls: 

     secured_area: 
      pattern: ^/ 
      anonymous: ~ 
      provider: main 
      form_login: 
       check_path: login_check 
       login_path: login 
       username_parameter: _email 
      logout: 
       path: logout 
       target:/

     dev: 
      pattern: ^/(_(profiler|wdt)|css|images|js)/ 
      security: false 

Если я поставил контроль доступа к определенной странице, то проблема исчезнет, ​​но ранее она не нужна, и ACL будет работать нормально, никого знаете, в чем проблема, или я сделал что-то не так с брандмауэром?

Пользователь вошел в систему с ROLE_USER, и имя пользователя также обнаружено, но не аутентифицировано.

ответ

1

Ok я узнал, что это проблема,

Для пользователя Сущности, я вынул \ Сериализуемый и теперь он работает. Один вопрос, как сделать это, сделать пользователя аутентифицированным?

/** 
* User 
* 
* @ORM\Table(name="User") 
* @ORM\Entity 
* @UniqueEntity("email") 
*/ 
class User implements UserInterface, \Serializable <--taken out and problem solved but why? 
{ 
    /** 
    * @var integer 
    * 
    * @ORM\Column(name="id", type="integer") 
    * @ORM\Id 
    * @ORM\GeneratedValue(strategy="AUTO") 
    */ 
    private $id; 

    /** 
    * @Assert\NotBlank(); 
    * @var string 
    * @ORM\Column(name="username", type="string", length=32) 
    */ 
    private $username; 

    /** 
    * @Assert\NotBlank(); 
    * @Assert\Email(); 
    * @var string 
    * @ORM\Column(name="email", type="string", length=128) 
    */ 
    private $email; 

    /** 
    * @var string 
    * 
    * @ORM\Column(name="password", type="string", length=255) 
    */ 
    private $password; 

    /** 
    * @var string 
    * 
    * @ORM\Column(name="contact", type="string", length=32) 
    */ 
    private $contact; 

    /** 
    * @var \DateTime 
    * 
    * @ORM\Column(name="date_create", type="datetime") 
    */ 
    private $dateCreate; 

    /** 
    * @var \DateTime 
    * 
    * @ORM\Column(name="date_last_login", type="datetime") 
    */ 
    private $dateLastLogin; 

    /** 
    * @var integer 
    * 
    * @ORM\Column(name="login_count", type="integer") 
    */ 
    private $loginCount; 

    /** 
    * @var string 
    * 
    * @ORM\Column(name="ip_address", type="string", length=32) 
    */ 
    private $ipAddress; 


    /** 
    * Get id 
    * 
    * @return integer 
    */ 
    public function getId() 
    { 
     return $this->id; 
    } 

    /** 
    * Set username 
    * 
    * @param string $username 
    * @return User 
    */ 
    public function setUsername($username) 
    { 
     $this->username = $username; 

     return $this; 
    } 

    /** 
    * Get username 
    * 
    * @return string 
    */ 
    public function getUsername() 
    { 
     return $this->username; 
    } 

    /** 
    * Set email 
    * 
    * @param string $email 
    * @return User 
    */ 
    public function setEmail($email) 
    { 
     $this->email = $email; 

     return $this; 
    } 

    /** 
    * Get email 
    * 
    * @return string 
    */ 
    public function getEmail() 
    { 
     return $this->email; 
    } 

    /** 
    * Set password 
    * 
    * @param string $password 
    * @return User 
    */ 
    public function setPassword($password) 
    { 
     $this->password = $password; 

     return $this; 
    } 

    /** 
    * Get password 
    * 
    * @return string 
    */ 
    public function getPassword() 
    { 
     return $this->password; 
    } 

    /** 
    * Set contact 
    * 
    * @param string $contact 
    * @return User 
    */ 
    public function setContact($contact) 
    { 
     $this->contact = $contact; 

     return $this; 
    } 

    /** 
    * Get contact 
    * 
    * @return string 
    */ 
    public function getContact() 
    { 
     return $this->contact; 
    } 

    /** 
    * Set dateCreate 
    * 
    * @param \DateTime $dateCreate 
    * @return User 
    */ 
    public function setDateCreate($dateCreate) 
    { 
     $this->dateCreate = $dateCreate; 

     return $this; 
    } 

    /** 
    * Get dateCreate 
    * 
    * @return \DateTime 
    */ 
    public function getDateCreate() 
    { 
     return $this->dateCreate; 
    } 

    /** 
    * Set dateLastLogin 
    * 
    * @param \DateTime $dateLastLogin 
    * @return User 
    */ 
    public function setDateLastLogin($dateLastLogin) 
    { 
     $this->dateLastLogin = $dateLastLogin; 

     return $this; 
    } 

    /** 
    * Get dateLastLogin 
    * 
    * @return \DateTime 
    */ 
    public function getDateLastLogin() 
    { 
     return $this->dateLastLogin; 
    } 

    /** 
    * Set loginCount 
    * 
    * @param integer $loginCount 
    * @return User 
    */ 
    public function setLoginCount($loginCount) 
    { 
     $this->loginCount = $loginCount; 

     return $this; 
    } 

    /** 
    * Get loginCount 
    * 
    * @return integer 
    */ 
    public function getLoginCount() 
    { 
     return $this->loginCount; 
    } 

    /** 
    * Set ipAddress 
    * 
    * @param string $ipAddress 
    * @return User 
    */ 
    public function setIpAddress($ipAddress) 
    { 
     $this->ipAddress = $ipAddress; 

     return $this; 
    } 

    /** 
    * Get ipAddress 
    * 
    * @return string 
    */ 
    public function getIpAddress() 
    { 
     return $this->ipAddress; 
    } 

    /** 
    * @inheritDoc 
    */ 
    public function getRoles(){ 
     return array('ROLE_USER'); 
    } 

    /** 
    * @inheritDoc 
    */ 
    public function getSalt(){ 
     //return $this->salt; 
     return null; 
    } 

    public function eraseCredentials(){ 

    } 

    /** 
    * @inheritDoc 
    */ 
    public function serialize() 
    { 
     return serialize(array(
      $this->id, 
      $this->email, 
      $this->password, 
      // see section on salt below 
      // $this->salt, 
     )); 
    } 

    /** 
    */ 
    public function unserialize($serialized) 
    { 
     list (
      $this->id, 
      $this->email, 
      $this->password, 
      // see section on salt below 
      // $this->salt 
      ) = unserialize($serialized); 
    } 
} 
Смежные вопросы