Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class MyController extends ActionController
- {
- // ...
- /**
- * @var \TYPO3\CMS\Extbase\Mvc\View\JsonView
- */
- protected $view;
- /**
- * @var string
- */
- protected $defaultViewObjectName = JsonView::class;
- /**
- * $saltedPasswordService
- *
- * @var \TYPO3\CMS\Saltedpasswords\SaltedPasswordService
- * @inject
- */
- protected $saltedPasswordService = null;
- /**
- * $responseMessage
- * @var array
- */
- private $responseMessage = [];
- function initializeAction()
- {
- parent::initializeAction();
- $this->responseMessage['status'] = 'ERROR';
- $this->responseMessage['messages'] = [];
- }
- /**
- * my login action
- * @return string
- */
- public function myLoginAction()
- {
- if ($this->isUserValid()) {
- $this->responseMessage['status'] = 'SUCCESS';
- }
- $this->view->assign('value', $this->responseMessage);
- return $this->view->render();
- }
- /**
- * @return bool
- * @internal param array $responseMessage
- */
- private function isUserValid()
- {
- try {
- $username = $this->request->getArgument('username');
- $password = $this->request->getArgument('password');
- } catch (NoSuchArgumentException $ex) {
- $this->responseMessage['messages'][] = $ex->getMessage();
- return false;
- }
- $loginData=array(
- 'uname' => $username,
- 'uident_text'=> $password,
- 'status' =>'login'
- );
- // $userAuth = $this->objectManager->get(FrontendUserAuthentication::class);
- $userAuth = $this->objectManager->get(BackendUserAuthentication::class);
- $userAuth->checkPid = false;
- $info = $userAuth->getAuthInfoArray();
- $user = $userAuth->fetchUserRecord($info['db_user'], $loginData['uname']);
- if (!$user) {
- $this->responseMessage['messages'][] = 'Invalid user';
- return $user;
- }
- $isValidLoginData = $this->saltedPasswordService->compareUident($user, $loginData);
- if (!$isValidLoginData) {
- $this->responseMessage['messages'][] = 'Invalid password';
- return $isValidLoginData;
- }
- return $isValidLoginData;
- }
- // ...
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement