php – Catchable Fatal Error:传递给UsernamePasswordToken :: __ construct()的参数4必须是一个数组,给出null

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了php – Catchable Fatal Error:传递给UsernamePasswordToken :: __ construct()的参数4必须是一个数组,给出null脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
登录到我的Symfony应用程序时(使用正确的用户名和密码),我收到以下错误

Security.yML

firewalls:
        admin_area:
            pattern:    ^/
            anonymous: ~
            form_login:
                LOGin_path:  /
                check_path:  /login_check
                default_target_path: /user
                failure_path: /
                #username_parameter: username
                #password_parameter: password
                remember_me: true

            remember_me:
                key: "%secret%"
                lifetime: 31536000
                path: /
                domain: ~
                always_remember_me: true
            logout:
                path:   /logout
                target: /

更新:

登录表格:

<form class="form-signin form-group" action="{{ path('login_check') }}" method="post">
Username: <input tyPE="text" class="form-control" name="_username" placeholder="Username" value="{{ last_username }}" required="required">
Password: <input type="text" class="form-control" name="_password" placeholder="" value="{{ last_username }}" required="required">
<button class="BTn btn-sm btn-Primary btn-block" type="submIT">Sign in</button>
基本上,错误消息的内容是:

UsernamePasswordToken::__construct()的第四个参数应该一个数组,但它是null.它在UserAuthenticationProvider at line 96被召集.

如果您查看该代码,您将看到UsernamePasswordToken :: __ construct()的第4个参数是$roles.所以这应该是一个数组,但它变为null.

我猜你有written your own User entity,并且你的用户实体的getRoles()方法返回null而不是一组角色.所以只需将该方法改为

/**
 * Returns the roles granted to the user.
 * 
 * @return Role[] The user roles
 */
public function getRoles()
{
    return array('ROLE_USER');
}

当然,只要getRoles()返回字符串数组Role对象,实际代码可能会有所不同(您可能希望将用户角色存储在数据库中).

脚本宝典总结

以上是脚本宝典为你收集整理的php – Catchable Fatal Error:传递给UsernamePasswordToken :: __ construct()的参数4必须是一个数组,给出null全部内容,希望文章能够帮你解决php – Catchable Fatal Error:传递给UsernamePasswordToken :: __ construct()的参数4必须是一个数组,给出null所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。