在我的Symfony项目中,我想使用真伪鉴别。所以我在security.yml档案里写了这个
firewalls: dev: pattern: ^/(_(profiler|wdt)|css|images|js)/ security: false default: anonymous: ~ login_firewall: pattern: ^/login$ anonymous: ~ secured_area: pattern: ^/ anonymous: ~ form_login: login_path: /login check_path: /login_check post_only: true always_use_default_target_path: true default_target_path: / use_referer: false username_parameter: username password_parameter: password intention: authenticate logout: path: /logout target: /
好的,现在文档中说我需要在routing.yml中添加以下内容:
login: pattern: /login defaults: { _controller: AcmeSecurityBundle:Security:login } login_check: pattern: /login_check
但我使用的是注释,所以我不使用路由文件。相反,我有:
/** * @Route("/login") * @Template() */ public function loginAction() { $request = $this->getRequest(); $session = $request->getSession(); // get the login error if there is one 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 array( // last username entered by the user 'last_username' => $session->get(SecurityContext::LAST_USERNAME), 'error' => $error, ); }
如果我什么也不做,我的登录页面会出错:
"Unable to generate a URL for the named route "login_check" as such route does not exist."
如果我在控制器中添加一个响应为空的操作,则。。。没有什么
我做错了什么?
login_check
或您指定的任何内容都是系统定义的路由,而不是操作。这意味着你不能/不应该/不会在控制器中手动定义它。;)
我自己使用annotations
进行路由,但无论如何,您将使用routing.yml
从控制器内部导入控制器,从而导入带注释的路由。
所以,继续,只需在routing.yml
中定义该路由,它就会起作用。
当我执行时,我的服务按预期列出,但当我从web或通过功能测试访问我的包时,我得到: 未捕获的PHP异常Symfony\Component\DependencyInjection\Exception\ServiceNotFoundException:“您请求了一个不存在的服务”xx。处理程序”在xx/app/bootstrap。php。缓存行2031{“异常”:“[对象](Symfony\Compo
我试图在Symfony2中创建一个表单,其中包含一个文本输入字段,该字段接受一个由6位数字组成的字符串,后跟一个破折号,后跟四位数字(例如123456-7890)。它确实可以工作,但我得到的HTML标记不一致,具体取决于我如何将字段添加到表单中。 这来自实体: 从表单定义中: 从树枝模板: 这就是浏览器源代码的样子——注意模式和maxlong属性: 我想使用我自己的标签,而不是默认的,所以我改变表
Symfony2有问题$excelService=$this- 显示的问题是 知道怎么解决这个问题吗? 顺便说一下,这是我的composer.json 但是我不能安装phpoffice/phpexcel,这是我最后一次尝试... 修改于25/06/2014 在Splendonia的帮助下,我能够以正确的方式安装/更新我的luiggioBundle,并意识到现在它有了一个新的应用编程接口。然后我运行
我试图在Symfony2上安装FOSUserBundle。 尝试在终端中运行此命令时 作曲家更新朋友软件交响乐/用户包 我提出了这个错误: 用包信息加载作曲家存储库更新依赖项(包括要求开发)您的需求无法解析为一组可安装的包。 问题1-symfony/icu v1.2.0需要lib-icu 我读到了关于INTL扩展没有安装正确,所以我按照这些说明,重新启动MAMP,问题仍然存在! 我也使用phpin
我在Wamp上使用symfony2,它连接在SQL服务器DB上。 当我开始与项目 一切都很好,速度很慢,但我的网站在127.0上还可以。0.1:8000,Doctrine2连接到sql server数据库时没有问题。 我的问题:当我localhost/MyProject/web/app_php.php(意味着我使用wamp而不是server: run)。Symfony抛出一个异常: PDOExc0