![](/img/trans.png)
[英]Error: Unable to find the controller for path "/login_check". The route is wrongly configured. (LexikJWTAuthentication)
[英]Symfony2 : Unable to find the controller for path “/api/login_check”. The route is wrongly configured
当我处于开发环境中时,一切正常,我的登录工作正常,但是当我将应用程序放置在服务器中并将环境更改为prod时,出现此错误
Symfony2:找不到路径“ / api / login_check”的控制器。 路由配置错误。
我知道此问题在表格中非常令人讨厌,但我已经查看了所有答复并尝试解决此问题,但是没有人适合我。
这是我的security.yml
security:
encoders:
Project\MyBundle\Entity\User: sha512
role_hierarchy:
ROLE_USER: ROLE_USER
ROLE_ADMIN: ROLE_ADMIN
providers:
in_memory:
memory: ~
user:
entity:
class: MyBundle:User
property: username
firewalls:
dev:
pattern: ^/(_(profiler|wdt)|css|images|js)/
security: false
login:
pattern: ^/api/login
stateless: true
anonymous: true
form_login:
check_path: /api/login_check
provider: user
success_handler: lexik_jwt_authentication.handler.authentication_success
failure_handler: lexik_jwt_authentication.handler.authentication_failure
require_previous_session: false
api:
pattern: ^/api
stateless: true
provider: user
lexik_jwt: ~
main:
anonymous: ~
access_control:
- { path: ^/api/login, roles: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/api, roles: [ROLE_USER, ROLE_ADMIN] }
这是我的routing.yml
app:
resource: "@AppBundle/Controller/"
type: annotation
api_login_check:
path: /api/login_check
#REST
rest:
type : rest
resource : Project\MyBundle\Controller\MyController
prefix : /api
这是我第一次部署symfony项目,我花了很多时间解决这个错误,希望有人可以提前帮助我。
login_check在“ GET”请求中不可用,您必须在“ POST”请求中强制使用它。您可以像创建@federico一样创建它
fos_user_security_check:
path: /login_check
defaults: { _controller: SiteUserBundle:Security:check }
requirements:
_method: POST
由于它在开发人员模式下有效,而在生产模式下无效,因此可能是您根本没有清除缓存。 (特别是在编写时,这是您的第一个Symfony部署。)要执行此操作,请执行以下操作:
对于./bin/console --env=prod cache:clear
: ./bin/console --env=prod cache:clear
/ ./bin/console --env=prod cache:clear
对于Sf2.4: ./app/console --env=prod cache:clear
app/ ./app/console --env=prod cache:clear
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.