php – symfony注销目标永远不会应用
发布时间:2020-12-13 15:58:09 所属栏目:PHP教程 来源:网络整理
导读:我第一次遇到Symfony(2.7)身份验证问题,我真的找不到可行的解决方案.虽然Symfony有一个专用的配置选项注销 – 目标,这从未在注销时应用,我总是被定向到/.我可能错过了正确实现这一点的一些限制. 好的,我正在使用: 基于表单的登录 Hooked自定义失败,成功和注
我第一次遇到Symfony(2.7)身份验证问题,我真的找不到可行的解决方案.虽然Symfony有一个专用的配置选项注销 – >目标,这从未在注销时应用,我总是被定向到/.我可能错过了正确实现这一点的一些限制.
好的,我正在使用: >基于表单的登录 我的config.yml防火墙 secured_area: pattern: ^/ stateless: false form_login: ... logout: path: logout target: /test success_handler: logout_success_handler anonymous: ~ 为了测试,我甚至添加了 access_control: - { path: ^/test,roles: IS_AUTHENTICATED_ANONYMOUSLY } - { path: ^/,roles: IS_AUTHENTICATED_ANONYMOUSLY } 我正在使用路径的路由名称,路由存在并且正常工作(我可以登录,登录_check和注销). 通过设置注销我的期望 – >目标,注销时我被重定向到页面/测试.但无论我尝试过什么,直到现在我总是在注销之后. 我很高兴,如果有人可以指出我正确的方向,如何注销到自定义路线(我也尝试使用路线名称进行目标).非常感谢! BTW: 我的logout_success_handler目前没有任何功能.通过启用转储,我也看到,重定向始终是/而不是/ test. public function onLogoutSuccess(Request $request) { $response = parent::onLogoutSuccess($request); //var_dump($response); die; return $response; } 解决方法
没有内置的注销目标.你必须在你的处理程序中处理它.
步骤1 将您的注销目标放入参数文件中 parameters: logout.target: /test 第2步 修改service.yml,其中已将logout处理程序定义为以下内容: some.logout_handler: class: SomeBundleSecurityYourAuthenticationHandler arguments: ["@security.context",%logout.target%] 这会将其注入您的处理程序. 第3步 最后,在你的onLogoutSuccess方法中做 public function onLogoutSuccess(Request $request) { $response = parent::onLogoutSuccess($request); return new RedirectResponse($this->logoutTarget); } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- php中convert_uuencode()与convert_uuencode函数用法实例
- 错误:在PHP中调用SOAP cilent时“对象引用未设置为对象的实
- php清除html中超链接/JS脚本/回车
- PHP改进计算字符串相似度的函数similar_text()、levenshtei
- php开发之javascript第一个程序
- php过滤敏感词的示例
- phpMyAdmin默认登录超时修改方法
- php – Magento中的IWD Onepage Checkout getItemHtml模板
- smarty模板引擎使用内建函数foreach循环取出所有数组值的方
- PHP编程:php中使用base HTTP验证的方法