1

おはようございます。私は少しの間Symfony2で遊んでいて、ドキュメントに書かれている基本認証を実装しました。

ログインできますが、デバッグバーに「認証されていません」と表示されます。

トークンを取得しようとするとNULLが返されるため、ユーザーやユーザー名など、必要なものを取得できません。

私はたくさんの投稿を読みましたが、なぜそれがそのように進んでいるのか分かりません。

可能な解決策はありますか?

ログインフォーム

{% if error %}
    <div>{{ error.message }}</div>
{% endif %}

<form action="{{ path('login_check') }}" method="post">
<label for="username">User:</label>
<input id="username" type="text" name="_username" value="{{ last_username }}" />
<label for="password">Password:</label>
<input id="password" type="password" name="_password" /> <input type="submit" name="login" />
</form>


loginAction

public function loginAction()
{

    $request = $this->getRequest();
    $session = $request->getSession();


    if ($request->attributes->has(SecurityContext::AUTHENTICATION_ERROR))
    {
        $error = $request->attributes->get(SecurityContext::AUTHENTICATION_ERROR);
    }
    else
    {
        $error = $session->get(SecurityContext::AUTHENTICATION_ERROR);
    }



    return $this->render('JillFBAdminBundle:Security:login.html.twig', array(
        'last_username' => $session->get(SecurityContext::LAST_USERNAME),
        'error'         => $error,
    ));
}


security.yml

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

firewalls:
    admin_area:
        provider: administrators
        security: true
        anonymous: false
        pattern: ^/admin/
        form_login:
            check_path: /admin/login_check
            login_path: /login
        logout:
            path: /admin/logout
            target: /home



access_control:
    - { path: /login, roles: IS_AUTHENTICATED_ANONYMOUSLY }
    - { path: ^/user, roles: ROLE_USER}
    - { path: ^/admin, roles: ROLE_ADMIN}

トークン

5123898f6f3d2   192.168.1.83    GET     http://192.168.1.83:88/Jill/app_dev.php/admin/              Tue, 19 Feb 2013 15:17:51 +0100
5123898f07be5   192.168.1.83    POST    http://192.168.1.83:88/Jill/app_dev.php/admin/login_check   Tue, 19 Feb 2013 15:17:51 +0100
4

0 に答える 0