簡體   English   中英

Symfony 2 Guard組件和正常的登錄表單

[英]Symfony 2 Guard component and a normal login form

我正在嘗試使用新的Guard組件。 我發現的唯一信息是官方文檔

文檔中的示例使用Guard來驗證API的請求。

根據文檔,它也可以與正常的登錄表單一起使用,我想做什么。

我復制了這個例子並替換了兩個函數:

public function getCredentials(Request $request)
{
    return array(
        'username' => $request->request->get('_username'),
        'password' => $request->request->get('_password'),
    );
}

public function getUser($credentials, UserProviderInterface $userProvider)
{
    $email = $credentials['username'];

    $user = $this->em->getRepository('Entity\User')
        ->findOneBy(array('email' => $email));

    return $user;
}

security.yml:

providers:
    user_provider:
        entity:
            class: Entity\User
            property: email

firewalls:
    user:
        switch_user: { role: ROLE_ADMIN }
        pattern:  ^/
        anonymous: ~
        provider: user_provider
        form_login:
            check_path: login_check
            login_path: login
        logout:
            path:   logout
            target: login
        guard:
            authenticators:
                - app.ldap.authenticator
        stateless: false

問題是Symfony不會持續我的會話。

我只有在為每個請求發送數據表單時才會登錄。 是否可以像普通登錄表單一樣發送此數據?

我找到了。 我在security.yml

always_authenticate_before_granting:  true

從另一個項目復制:)。 我刪除它,現在它的工作原理

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM