php - Symfony 4 认证用户令牌丢失
问题描述
我有一个登录问题。当我输入用户凭据并按下登录按钮时,它会创建一个用户令牌并重定向到主页但是当请求获取主页时用户令牌不存在......这是来自 dev.log 文件的数据
request.INFO: Matched route "login_check". {"route":"login_check","route_parameters":{"_route":"login_check","_controller":"App\\Controller\\Auth\\LoginController::login"},"request_uri":"http://localhost:8082/login","method":"POST"} []
security.INFO: User has been authenticated successfully. {"username":"jac@jack.com"} []
security.DEBUG: Fallback to the default authentication success handler. [] []
security.DEBUG: Clearing remember-me cookie. {"name":"REMEMBERME"} []
security.DEBUG: Remember-me was requested; setting cookie. [] []
security.DEBUG: Stored the security token in the session. {"key":"_security_main"} []
request.INFO: Matched route "main". {"route":"main","route_parameters":{"_route":"main","_controller":"App\\Controller\\MainController::index"},"request_uri":"http://localhost:8082/","method":"GET"} []
security.DEBUG: Read existing security token from the session. {"key":"_security_main","token_class":"Symfony\\Component\\Security\\Core\\Authentication\\Token\\UsernamePasswordToken"} []
security.WARNING: Username could not be found in the selected user provider. {"username":null,"provider":"App\\Security\\UserProvider"} []
security.DEBUG: Remember-me cookie detected. [] []
security.INFO: User for remember-me cookie not found. {"exception":"[object] (Symfony\\Component\\Security\\Core\\Exception\\UsernameNotFoundException(code: 0): Username \"jac@jack.com\" does not exist. at /opt/aicty/src/Security/UserProvider.php:52)"} []
security.DEBUG: Clearing remember-me cookie. {"name":"REMEMBERME"} []
security.INFO: Populated the TokenStorage with an anonymous Token. [] []
security.DEBUG: Access denied, the user is not fully authenticated; redirecting to authentication entry point. {"exception":"[object] (Symfony\\Component\\Security\\Core\\Exception\\AccessDeniedException(code: 403): Access Denied. at /opt/aicty/vendor/symfony/security/Http/Firewall/AccessListener.php:68)"} []
security.DEBUG: Calling Authentication entry point. [] []
request.INFO: Matched route "show_login". {"route":"show_login","route_parameters":{"_route":"show_login","_controller":"App\\Controller\\Auth\\LoginController::showLogin"},"request_uri":"http://localhost:8082/login","method":"GET"} []
security.INFO: Populated the TokenStorage with an anonymous Token. [] []
request.INFO: Matched route "_wdt". {"route":"_wdt","route_parameters":{"_route":"_wdt","_controller":"web_profiler.controller.profiler::toolbarAction","token":"e96cb7"},"request_uri":"http://localhost:8082/_wdt/e96cb7","method":"GET"} []
这是我的安全 yaml conf。我从 symfony 文档中获取了 User 类和 UserProvider 类。
security:
encoders:
App\Entity\User:
algorithm: bcrypt
cost: 12
providers:
japi:
id: App\Security\UserProvider
firewalls:
dev:
pattern: ^/(_(profiler|wdt)|css|images|js)/
security: false
main:
anonymous: ~
provider: japi
simple_form:
login_path: show_login
check_path: login_check
username_parameter: email
password_parameter: password
authenticator: App\Security\Authenticator
remember_me: true
provider: japi
解决方案
就我而言,我更改了用户实体,但忘记在 sql 中生成或更新表,您可以使用以下命令更新或生成表。
php bin/console doctrine:schema:update --force
或者
php bin/console make:migration
php bin/console doctrine:migrations:migrate
推荐阅读
- matlab - 如何在matlab中进行平滑操作?
- python - 显示脚本的 curses GUI,即使是重定向输出
- python - 安装带有 GPU 支持的 tensorflow 的问题
- javascript - npm 警告:关键依赖:依赖的请求是一个表达式
- bootstrap-4 - 在 Bootstrap 4 中将追加对象添加到表单组输入字段
- javascript - 我可以控制来自 React.js 中特定组件的音量吗?
- acumatica - Acumatica PXDimension 选择器导致端点失败。- 休息 API -
- c# - 包含使用 SingleOrDefault 时的 EF Core 3.0 MoveNext 错误
- assembly - 观察 x86 寄存器依赖关系
- java - NotSupportedException:不支持请求方法“PUT”。为什么?