Advertisement
Guest User

Untitled

a guest
Sep 29th, 2016
104
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.27 KB | None | 0 0
  1. class MyController extends ActionController
  2. {
  3. // ...
  4.  
  5. /**
  6. * @var \TYPO3\CMS\Extbase\Mvc\View\JsonView
  7. */
  8. protected $view;
  9.  
  10. /**
  11. * @var string
  12. */
  13. protected $defaultViewObjectName = JsonView::class;
  14.  
  15. /**
  16. * $saltedPasswordService
  17. *
  18. * @var \TYPO3\CMS\Saltedpasswords\SaltedPasswordService
  19. * @inject
  20. */
  21. protected $saltedPasswordService = null;
  22.  
  23. /**
  24. * $responseMessage
  25. * @var array
  26. */
  27. private $responseMessage = [];
  28.  
  29. function initializeAction()
  30. {
  31. parent::initializeAction();
  32. $this->responseMessage['status'] = 'ERROR';
  33. $this->responseMessage['messages'] = [];
  34. }
  35.  
  36. /**
  37. * my login action
  38. * @return string
  39. */
  40. public function myLoginAction()
  41. {
  42. if ($this->isUserValid()) {
  43. $this->responseMessage['status'] = 'SUCCESS';
  44. }
  45.  
  46. $this->view->assign('value', $this->responseMessage);
  47. return $this->view->render();
  48. }
  49.  
  50. /**
  51. * @return bool
  52. * @internal param array $responseMessage
  53. */
  54. private function isUserValid()
  55. {
  56. try {
  57. $username = $this->request->getArgument('username');
  58. $password = $this->request->getArgument('password');
  59. } catch (NoSuchArgumentException $ex) {
  60. $this->responseMessage['messages'][] = $ex->getMessage();
  61. return false;
  62. }
  63.  
  64. $loginData=array(
  65. 'uname' => $username,
  66. 'uident_text'=> $password,
  67. 'status' =>'login'
  68. );
  69.  
  70. // $userAuth = $this->objectManager->get(FrontendUserAuthentication::class);
  71. $userAuth = $this->objectManager->get(BackendUserAuthentication::class);
  72.  
  73. $userAuth->checkPid = false;
  74. $info = $userAuth->getAuthInfoArray();
  75. $user = $userAuth->fetchUserRecord($info['db_user'], $loginData['uname']);
  76.  
  77. if (!$user) {
  78. $this->responseMessage['messages'][] = 'Invalid user';
  79. return $user;
  80. }
  81.  
  82. $isValidLoginData = $this->saltedPasswordService->compareUident($user, $loginData);
  83.  
  84. if (!$isValidLoginData) {
  85. $this->responseMessage['messages'][] = 'Invalid password';
  86. return $isValidLoginData;
  87. }
  88.  
  89. return $isValidLoginData;
  90. }
  91.  
  92. // ...
  93. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement