Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public function newAction(Request $request)
- {
- $user = new User();
- $form = $this->createForm('AppBundleFormUserType', $user);
- $form->handleRequest($request);
- if ($form->isSubmitted() && $form->isValid()) {
- $encoder = $this->get("security.password_encoder");
- $encoded = $encoder->encodePassword($user, $user->getPlainPassword());
- $user->setPassword($encoded);
- $user->setRoles(array('ROLE_ADMIN'));
- $em = $this->getDoctrine()->getManager();
- $em->persist($user);
- $em->flush();
- return $this->redirectToRoute('user_show', array('id' => $user->getId()));
- }
- return $this->render('user/new.html.twig', array(
- 'user' => $user,
- 'form' => $form->createView(),
- ));
- }
- <?php
- namespace AppBundleEntity;
- use DoctrineORMMapping as ORM;
- use SymfonyComponentSecurityCoreUserUserInterface;
- use SymfonyComponentValidatorConstraints as Assert;
- /**
- * User
- *
- * @ORMTable(name="user")
- * @ORMEntity(repositoryClass="AppBundleRepositoryUserRepository")
- */
- class User implements UserInterface
- {
- /**
- * @var int
- *
- * @ORMColumn(name="id", type="integer")
- * @ORMId
- * @ORMGeneratedValue(strategy="AUTO")
- */
- private $id;
- /**
- * @var string
- *
- * @ORMColumn(name="name", type="string", length=255)
- */
- private $name;
- /**
- * @var string
- *
- * @ORMColumn(name="family", type="string", length=255)
- */
- private $family;
- /**
- * @var string
- *
- * @ORMColumn(name="username", type="string", length=255, unique=true)
- */
- private $username;
- /**
- * @var string
- *
- * @ORMColumn(name="email", type="string", length=255)
- */
- private $email;
- /**
- * @var array
- *
- * @ORMColumn(name="roles", type="json_array")
- */
- private $roles;
- /**
- * @var string
- *
- * @ORMColumn(name="password", type="string", length=255)
- */
- private $salt;
- /**
- * @var string
- *
- * @ORMColumn(name="salt", type="string", length=10)
- */
- private $password;
- /**
- * @var string
- * @AssertNotBlank()
- * @AssertLength(max=4096)
- */
- private $plainPassword;
- /**
- * Get id
- *
- * @return int
- */
- public function getId()
- {
- return $this->id;
- }
- /**
- * Set name
- *
- * @param string $name
- *
- * @return User
- */
- public function setName($name)
- {
- $this->name = $name;
- return $this;
- }
- /**
- * Get name
- *
- * @return string
- */
- public function getName()
- {
- return $this->name;
- }
- /**
- * Set family
- *
- * @param string $family
- *
- * @return User
- */
- public function setFamily($family)
- {
- $this->family = $family;
- return $this;
- }
- /**
- * Get family
- *
- * @return string
- */
- public function getFamily()
- {
- return $this->family;
- }
- /**
- * 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 roles
- *
- * @param array $roles
- *
- * @return User
- */
- public function setRoles($roles)
- {
- $this->roles = $roles;
- return $this;
- }
- public function getPlainPassword()
- {
- return $this->plainPassword;
- }
- public function setPlainPassword($password)
- {
- $this->plainPassword = $password;
- }
- /**
- * Get roles
- *
- * @return array
- */
- public function getRoles()
- {
- $roles = $this->roles;
- // guarantees that a user always has at least one role for security
- if (empty($roles)) {
- $roles[] = 'ROLE_USER';
- }
- return array_unique($roles);
- }
- /**
- * 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 salt
- *
- * @param string $salt
- *
- * @return User
- */
- public function setSalt($salt)
- {
- $this->salt = $salt;
- return $this;
- }
- /**
- * Get salt
- *
- * @return string
- */
- public function getSalt()
- {
- return;
- }
- public function eraseCredentials()
- {
- }
- }
- security:
- encoders:
- AppBundleEntityUser: bcrypt
- # http://symfony.com/doc/current/book/security.html#where-do-users-come-from-user-providers
- providers:
- database_users:
- entity: { class: AppBundle:User, property: username}
- firewalls:
- secured_area:
- pattern: ^/
- anonymous: true
- form_login:
- login_path: login
- check_path: login
- csrf_token_generator: security.csrf.token_manager
- logout:
- path: security_logout
- target: homepage
- access_control:
- - { path: ^/admin, roles: ROLE_ADMIN }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement