Advertisement
Guest User

Untitled

a guest
Aug 24th, 2017
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.74 KB | None | 0 0
  1. public function newAction(Request $request)
  2. {
  3. $user = new User();
  4. $form = $this->createForm('AppBundleFormUserType', $user);
  5. $form->handleRequest($request);
  6.  
  7. if ($form->isSubmitted() && $form->isValid()) {
  8. $encoder = $this->get("security.password_encoder");
  9. $encoded = $encoder->encodePassword($user, $user->getPlainPassword());
  10. $user->setPassword($encoded);
  11.  
  12. $user->setRoles(array('ROLE_ADMIN'));
  13. $em = $this->getDoctrine()->getManager();
  14. $em->persist($user);
  15. $em->flush();
  16.  
  17. return $this->redirectToRoute('user_show', array('id' => $user->getId()));
  18. }
  19.  
  20. return $this->render('user/new.html.twig', array(
  21. 'user' => $user,
  22. 'form' => $form->createView(),
  23. ));
  24. }
  25.  
  26. <?php
  27. namespace AppBundleEntity;
  28.  
  29. use DoctrineORMMapping as ORM;
  30. use SymfonyComponentSecurityCoreUserUserInterface;
  31. use SymfonyComponentValidatorConstraints as Assert;
  32.  
  33. /**
  34. * User
  35. *
  36. * @ORMTable(name="user")
  37. * @ORMEntity(repositoryClass="AppBundleRepositoryUserRepository")
  38. */
  39. class User implements UserInterface
  40. {
  41. /**
  42. * @var int
  43. *
  44. * @ORMColumn(name="id", type="integer")
  45. * @ORMId
  46. * @ORMGeneratedValue(strategy="AUTO")
  47. */
  48. private $id;
  49.  
  50. /**
  51. * @var string
  52. *
  53. * @ORMColumn(name="name", type="string", length=255)
  54. */
  55. private $name;
  56.  
  57. /**
  58. * @var string
  59. *
  60. * @ORMColumn(name="family", type="string", length=255)
  61. */
  62. private $family;
  63.  
  64. /**
  65. * @var string
  66. *
  67. * @ORMColumn(name="username", type="string", length=255, unique=true)
  68. */
  69. private $username;
  70.  
  71. /**
  72. * @var string
  73. *
  74. * @ORMColumn(name="email", type="string", length=255)
  75. */
  76. private $email;
  77.  
  78. /**
  79. * @var array
  80. *
  81. * @ORMColumn(name="roles", type="json_array")
  82. */
  83. private $roles;
  84.  
  85. /**
  86. * @var string
  87. *
  88. * @ORMColumn(name="password", type="string", length=255)
  89. */
  90. private $salt;
  91.  
  92. /**
  93. * @var string
  94. *
  95. * @ORMColumn(name="salt", type="string", length=10)
  96. */
  97. private $password;
  98.  
  99. /**
  100. * @var string
  101. * @AssertNotBlank()
  102. * @AssertLength(max=4096)
  103. */
  104. private $plainPassword;
  105.  
  106.  
  107. /**
  108. * Get id
  109. *
  110. * @return int
  111. */
  112. public function getId()
  113. {
  114. return $this->id;
  115. }
  116.  
  117. /**
  118. * Set name
  119. *
  120. * @param string $name
  121. *
  122. * @return User
  123. */
  124. public function setName($name)
  125. {
  126. $this->name = $name;
  127.  
  128. return $this;
  129. }
  130.  
  131. /**
  132. * Get name
  133. *
  134. * @return string
  135. */
  136. public function getName()
  137. {
  138. return $this->name;
  139. }
  140.  
  141. /**
  142. * Set family
  143. *
  144. * @param string $family
  145. *
  146. * @return User
  147. */
  148. public function setFamily($family)
  149. {
  150. $this->family = $family;
  151.  
  152. return $this;
  153. }
  154.  
  155. /**
  156. * Get family
  157. *
  158. * @return string
  159. */
  160. public function getFamily()
  161. {
  162. return $this->family;
  163. }
  164.  
  165. /**
  166. * Set username
  167. *
  168. * @param string $username
  169. *
  170. * @return User
  171. */
  172. public function setUsername($username)
  173. {
  174. $this->username = $username;
  175.  
  176. return $this;
  177. }
  178.  
  179. /**
  180. * Get username
  181. *
  182. * @return string
  183. */
  184. public function getUsername()
  185. {
  186. return $this->username;
  187. }
  188.  
  189. /**
  190. * Set email
  191. *
  192. * @param string $email
  193. *
  194. * @return User
  195. */
  196. public function setEmail($email)
  197. {
  198. $this->email = $email;
  199.  
  200. return $this;
  201. }
  202.  
  203. /**
  204. * Get email
  205. *
  206. * @return string
  207. */
  208. public function getEmail()
  209. {
  210. return $this->email;
  211. }
  212.  
  213. /**
  214. * Set roles
  215. *
  216. * @param array $roles
  217. *
  218. * @return User
  219. */
  220. public function setRoles($roles)
  221. {
  222. $this->roles = $roles;
  223.  
  224. return $this;
  225. }
  226.  
  227. public function getPlainPassword()
  228. {
  229. return $this->plainPassword;
  230. }
  231.  
  232. public function setPlainPassword($password)
  233. {
  234. $this->plainPassword = $password;
  235. }
  236. /**
  237. * Get roles
  238. *
  239. * @return array
  240. */
  241. public function getRoles()
  242. {
  243. $roles = $this->roles;
  244.  
  245. // guarantees that a user always has at least one role for security
  246. if (empty($roles)) {
  247. $roles[] = 'ROLE_USER';
  248. }
  249.  
  250. return array_unique($roles);
  251. }
  252.  
  253. /**
  254. * Set password
  255. *
  256. * @param string $password
  257. *
  258. * @return User
  259. */
  260. public function setPassword($password)
  261. {
  262. $this->password = $password;
  263.  
  264. return $this;
  265. }
  266.  
  267. /**
  268. * Get password
  269. *
  270. * @return string
  271. */
  272. public function getPassword()
  273. {
  274. return $this->password;
  275. }
  276.  
  277. /**
  278. * Set salt
  279. *
  280. * @param string $salt
  281. *
  282. * @return User
  283. */
  284. public function setSalt($salt)
  285. {
  286. $this->salt = $salt;
  287.  
  288. return $this;
  289. }
  290.  
  291. /**
  292. * Get salt
  293. *
  294. * @return string
  295. */
  296. public function getSalt()
  297. {
  298. return;
  299. }
  300.  
  301. public function eraseCredentials()
  302. {
  303. }
  304. }
  305.  
  306. security:
  307. encoders:
  308. AppBundleEntityUser: bcrypt
  309. # http://symfony.com/doc/current/book/security.html#where-do-users-come-from-user-providers
  310. providers:
  311. database_users:
  312. entity: { class: AppBundle:User, property: username}
  313.  
  314. firewalls:
  315. secured_area:
  316. pattern: ^/
  317. anonymous: true
  318. form_login:
  319. login_path: login
  320. check_path: login
  321. csrf_token_generator: security.csrf.token_manager
  322. logout:
  323. path: security_logout
  324. target: homepage
  325. access_control:
  326. - { path: ^/admin, roles: ROLE_ADMIN }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement