コード例 #1
0
 /**
  * Create user object
  *
  * @return \Closure
  */
 private function _createUserObject()
 {
     return function (Request $request, Application $app) {
         $user_data = null;
         if (in_array('user', $app->keys())) {
             $user_data = $app['user'];
         }
         /** @var User $user */
         $user = new User();
         if ($request->attributes->has('user_id')) {
             $user->setUserId($request->attributes->get('user_id'));
         }
         if ($user_data) {
             $user->setEmail($user_data['email']);
             $user->setFirstname($user_data['firstname']);
             $user->setLastname($user_data['lastname']);
             $user->setPassword(PasswordHash::hash($user_data['password']));
         }
         $app['user'] = $user;
     };
 }
コード例 #2
0
 /**
  * Login user
  *
  * @param Request $request
  * @param Application $app
  * @return \Symfony\Component\HttpFoundation\JsonResponse
  */
 public function loginUser(Request $request, Application $app)
 {
     try {
         /** @var User_Database $user_db */
         $user_db = User_Database::getInstance($app, $request);
         $result_user = $user_db->loginUser();
         /** @var User $user */
         $user = new User($result_user['user_id']);
         $user->setEmail($result_user['email']);
         $user->setFirstname($result_user['firstname']);
         $user->setLastname($result_user['lastname']);
         return ResponseBuilder::createSuccessResponse($app, $user->toArray());
     } catch (WrongPasswordException $e) {
         return ResponseBuilder::createErrorResponse($app, ResponseBuilder::STATUS_TYPE_PASSWORD_INVALID, "User-ID und Passwort stimmmen nicht überein.", Response::HTTP_FORBIDDEN);
     }
 }