组合表用户会话登录

时间:2014-04-08 13:05:27

标签: security session symfony entity

我与实体用户完美登录。当我登录时,我可以通过Security.Context访问用户。我可以包含另一个表格,例如UserSettings到security.context?我必须在实体User.php中做什么。

我的实体User.php:

<?php

namespace Frontend\AccountBundle\Entity;

use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Security\Core\User\UserInterface;
use Symfony\Component\Security\Core\User\AdvancedUserInterface;
use Symfony\Component\Validator\Constraints as Assert;
use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity;
use Symfony\Component\Security\Core\Exception\DisabledException;

/**
* User
*
* @ORM\Table(name="user")
* @ORM\Entity
* @UniqueEntity("email")
*/
class User implements AdvancedUserInterface, \Serializable {
/**
 * @var integer
 *
 * @ORM\Column(name="id", type="integer", nullable=false)
 * @ORM\Id
 * @ORM\GeneratedValue(strategy="IDENTITY")
 */
private $id;
...
public function getId()
{
    return $this->id;
}
...

我的UserSettings.php:

<?php

namespace Frontend\AccountBundle\Entity;

use Doctrine\ORM\Mapping as ORM;

/**
* UserSettings
*
* @ORM\Table(name="user_settings")
* @ORM\Entity
*/
class UserSettings
{
/**
 * @var \Language
 *
 * @ORM\ManyToOne(targetEntity="Language")
 * @ORM\JoinColumns({
 *   @ORM\JoinColumn(name="locale", referencedColumnName="id")
 * })
 */
private $locale;

/**
 * @var \User
 *
 * @ORM\Id
 * @ORM\GeneratedValue(strategy="NONE")
 * @ORM\OneToOne(targetEntity="User")
 * @ORM\JoinColumns({
 *   @ORM\JoinColumn(name="id", referencedColumnName="id")
 * })
 */
private $id;



/**
 * Set locale
 *
 * @param \Frontend\AccountBundle\Entity\Language $locale
 * @return UserSettings
 */
public function setLocale(\Frontend\AccountBundle\Entity\Language $locale = null)
{
    $this->locale = $locale;

    return $this;
}

/**
 * Get locale
 *
 * @return \Frontend\AccountBundle\Entity\Language 
 */
public function getLocale()
{
    return $this->locale;
}

/**
 * Set id
 *
 * @param \Frontend\AccountBundle\Entity\User $id
 * @return UserSettings
 */
public function setId(\Frontend\AccountBundle\Entity\User $id)
{
    $this->id = $id;

    return $this;
}

/**
 * Get id
 *
 * @return \Frontend\AccountBundle\Entity\User 
 */
public function getId()
{
    return $this->id;
}
}

0 个答案:

没有答案
相关问题