1

symfony2のデータベースから認証された標準ログインを作成しようとしています。

私はここのドキュメントに従っています: http://symfony.com/doc/current/book/security.html そしてここ:
http : //symfony.com/doc/current/cookbook/security/entity_provider.html

私のセキュリティファイル:

security:
encoders:
    Acme\UserBundle\Entity\User:
        algorithm:        sha1
        encode_as_base64: false
        iterations:       1

role_hierarchy:
    ROLE_ADMIN:       ROLE_USER
    ROLE_SUPER_ADMIN: [ ROLE_USER, ROLE_ADMIN, ROLE_ALLOWED_TO_SWITCH ]

providers:
    administrators:
        entity: { class: RWLoginBundle:User, property: username }

firewalls:
    secured_area:
        pattern:    ^/
        anonymous: ~
        form_login: ~

access_control:
    - { path: ^/admin, roles: ROLE_ADMIN }

私のルーティングファイル:

login:
    pattern:   /
    defaults:  { _controller: RWLoginBundle:Default:login } 
login_check:
    pattern:   /login_check

しかし、ユーザーとパスワードを入力すると、次のエラーが発生します。

Fatal error: Call to undefined method RW\LoginBundle\Entity\User::findOneBy() in /var/www/rw/vendor/symfony/symfony/src/Symfony/Bridge/Doctrine/Security/User/EntityUserProvider.php on line 55

私のログインページはフォームのドキュメントに従って作成されており、存在するURLに移動するリダイレクト入力があります。

誰かが以前にこのようなものに出くわしたことがありますか?

編集:以下にエンティティを追加

namespace RW\LoginBundle\Entity;

use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Security\Core\User\UserInterface;
use Doctrine\Common\Collections\ArrayCollection;

/**
 * RW\LoginBundle\Entity\User
 *
 * @ORM\Table(name="users")
 * @ORM\Entity(repositoryClass="RW\LoginBundle\Entity\User")
 */
class User implements UserInterface, \Serializable
4

0 に答える 0