[英]Symfony simple login form issue
我登录时遇到问题。我已经阅读了Symfony文档,有关stackoverflow的主题和其他教程。 当我尝试使用Firefox或Chrome浏览器登录时,第一次不会登录,但第二次尝试却成功。 在IE中,我完全不会登录。 您能帮忙吗? 我没主意了。 这是我的代码:
index.html.twig
<form action="{{ path('login_check') }}" method="post">
<input type="text" id="username" name="_username" placeholder="{{ 'INDEX_LOGIN_USERNAME'|trans }}" />
<input type="password" id="password" name="_password" placeholder="{{ 'INDEX_LOGIN_PASSWORD'|trans }}" />
{#<input type="hidden" name="_target_path" value="/admin" />#}
<button type="submit"></button>
</form>
routing.yml
login:
path: /login
// without next line (defaults) I receive an error: Unable to find the controller for path "/login". The route is wrongly configured.
defaults: { _controller: FC_Hlinsko_Bundle:Default:index }
options: { i18n: false }
logout:
path: /logout
options: { i18n: false }
homepage:
path: /
defaults: { _controller: FC_Hlinsko_Bundle:Default:index }
admin:
path: /admin
defaults: { _controller: FC_Hlinsko_Bundle:Admin:index }
安全性
security:
providers:
in_memory:
memory:
users:
admin:
password: $2y$12$aE7n0XduDqfYd5xZVfm.G.uiIZSMUCdtPxfz6VRgdBKrU2ihxcC7i
roles: 'ROLE_ADMIN'
firewalls:
dev:
pattern: ^/(_(profiler|wdt)|css|images|js)/
security: false
anonymous: true
secured_area:
pattern: ^/
form_login:
check_path: /login_check
login_path: login
logout:
path: logout
target: homepage
anonymous: ~
access_control:
# require ROLE_ADMIN for /admin*
- { path: /login, roles: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: /admin, roles: ROLE_ADMIN }
encoders:
Symfony\Component\Security\Core\User\User:
algorithm: bcrypt
cost: 12
问题解决了。 我浏览过dev.log,由于IE,它记录了此错误:您的会话已超时,或者您已禁用cookie ...因此,在进行一些搜索后,我发现undescore不能位于域名中(我的域名为fc_hlinsko.local /app_dev.php/),因此我创建了新的Symfony项目和新的Bundle,目前看来一切正常。.另外,我还必须在form_log下添加到我的security.yml中,此代码: require_previous_session: false
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.