public function loginAction(Request $request, Application $app) { $adminId = $app['session']->get('adminId'); $admin = new Admin(); if ($adminId) { $admin->setId($adminId); $admin->setLastLoginTime(time()); $app['repository.admin']->editLastLoginTime($admin); $redirect = $app['url_generator']->generate('adminIndex'); return $app->redirect($redirect); } $form = $app['form.factory']->create(new AdminLoginType(), $admin); $form->handleRequest($request); if ($request->isMethod('POST')) { // $form->bind($request); if ($form->isValid()) { $resultFindByNameAndPassword = $app['repository.admin']->findByNameAndPassword($admin); if (!$resultFindByNameAndPassword) { CommonFunc::alertBack('账号或密码错误,请重试'); return; } $resultFindByNameAndPassword->setLastLoginTime(time()); $app['repository.admin']->editLastLoginTime($resultFindByNameAndPassword); $resultFindByNameAndPassword->setLastLoginIp(CommonFunc::getIP()); $app['repository.admin']->editLastLoginIp($resultFindByNameAndPassword); $app['session']->set('adminId', $resultFindByNameAndPassword->getId()); $redirect = $app['url_generator']->generate('adminIndex'); return $app->redirect($redirect); } } $data = array('form' => $form->createView(), 'title' => '用户登录'); return $app['twig']->render('admin/adminLogin.html.twig', $data); }
protected function buildAdmin($adminData) { $admin = new Admin(); $admin->setId($adminData['id']); $admin->setName($adminData['name']); $admin->setPassword($adminData['password']); $admin->setEmail($adminData['email']); $admin->setStatus($adminData['status']); $admin->setJoinTime($adminData['joinTime']); $admin->setLastLoginTime($adminData['lastLoginTime']); $admin->setLastLoginIp($adminData['lastLoginTime']); return $admin; }