我在尝试访问时遇到此错误:localhost/lab/web/app_dev.php/login
编译错误:无法重新声明类ET \ UserBundle \ Controller \ SecurityController
我搜索了它是否是命名空间或类名的链接,但我不知道:
我的SecurityController:
namespace ET\UserBundle\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\Security\Core\SecurityContext;
class SecurityController extends Controller
{
public function loginAction(Request $request)
{
// Si le visiteur est déjà identifié, on le redirige vers l'accueil
if ($this->get('security.context')->isGranted('IS_AUTHENTICATED_REMEMBERED')) {
return $this->redirect($this->generateUrl('oc_platform_accueil'));
}
$session = $request->getSession();
// On vérifie s'il y a des erreurs d'une précédente soumission du formulaire
if ($request->attributes->has(SecurityContext::AUTHENTICATION_ERROR)) {
$error = $request->attributes->get(SecurityContext::AUTHENTICATION_ERROR);
} else {
$error = $session->get(SecurityContext::AUTHENTICATION_ERROR);
$session->remove(SecurityContext::AUTHENTICATION_ERROR);
}
return $this->render('ETUserBundle:Security:login.html.twig', array(
// Valeur du précédent nom d'utilisateur entré par l'internaute
'last_username' => $session->get(SecurityContext::LAST_USERNAME),
'error' => $error,
));
}
}
我的app / config / routing.yml:
login:
pattern: /login
defaults: { _controller: ETUserBundle:Security:login }
login_check:
pattern: /login_check
logout:
pattern: /logout
我的app / config / security.yml:
security:
firewalls:
# ...
main:
pattern: ^/
anonymous: true
provider: in_memory
form_login:
login_path: login
check_path: login_check
logout:
path: logout
target: /platform
有人有想法吗? N.B:我在新安装的Symfony 2.7和2.6上试过相同的代码