如何在Symfony2中为多个用户登录

如何在Symfony2中为多个用户登录,symfony,Symfony,我正在尝试在symfony中为两种类型的用户“User”和“Teacher”进行登录,但仍不断出现以下错误:无法找到路径“/User/login\u check”的控制器。可能您忘记在路由配置中添加匹配的路由? 这是保安 安全: 编码器: AUI\Bundle\UserBundle\Entity\Teacher: 算法:md5 将_编码为_base64:true 迭代次数:1 这里是routing.yml login: pattern: login defaults: { _co

我正在尝试在symfony中为两种类型的用户“User”和“Teacher”进行登录,但仍不断出现以下错误:
无法找到路径“/User/login\u check”的控制器。可能您忘记在路由配置中添加匹配的路由?

这是保安

安全: 编码器: AUI\Bundle\UserBundle\Entity\Teacher: 算法:md5 将_编码为_base64:true 迭代次数:1

这里是routing.yml

login:
    pattern: login
    defaults: { _controller:AUIUserBundle:Security:Login}

login_check:
    path: login_check

logout:
    path: /admin_logout


student_login:
    pattern: /user/login
    defaults: { _controller:AUIUserBundle:Security:StudentLogin}

student_login_check:
    path: /user/login_check

student_logout:
    path: /student/logout

您错过了
路由.yml中的控制器/操作部分

应该是这样的:

student_login_check:
    path: /user/login_check
    defaults: { _controller: AUIUserBundle:Security:StudentLoginCheck }

当然,
AUIUserBundle:Security:StudentLoginCheck
只是一个例子

我解决这个问题的方法是让框架处理一类用户的登录,然后手动编程另一个登录,这意味着我已经编写了“logincheckAction”代码。找不到更好的方法。所有其他方法对我来说都失败了

否,通常登录检查在symphony中自动实现。您没有亲自实施该操作(它已经为您实施了)。登录正在为管理员工作,而没有您刚才指定的操作(登录检查)。但它对其他用户不起作用reasons@anyavacy/login\u check是一回事,但/user/login\u check完全不同。试着做一个简单的控制器来模拟thst并修改我告诉你们的巡演路由文件广告…所以对于另一个登录检查,我需要实现它。该框架不能同时支持这两个方面,或者什么?据我所知,登录检查(任何登录检查)默认在框架中实现,您只需要配置security.yml文件。我错了吗?@anyavay:你没有错,事实上你可以使用同一个控制器来执行身份验证操作。但是(是的,有一个BUT),您必须在路由文件中指定它。因此,如果您想使用同一个控制器,您必须正确理解在身份验证时调用哪个控制器(如果有的话)(我很确定没有服务),或者模拟对某个服务的调用,您必须正确实现/标记。。。现在,我再也无法深入了解Symfony2体系结构了,否则我会准确地告诉您。然而,你必须遵循我的答案,使事情顺利进行。我实际上做的是让一个控制器为一个用户自动处理登录,我已经在没有框架交互的情况下手动编程了另一个登录。我遵循了你的方法(某人:)。谢谢,顺便说一下,你得到了一些选票
student_login_check:
    path: /user/login_check
    defaults: { _controller: AUIUserBundle:Security:StudentLoginCheck }