1

システムでカスタム ユーザー プロバイダーを使用して Symfony Security を使用しています。Web サービスを介してユーザーに提供します。このチュートリアル ( http://symfony.com/doc/current/cookbook/security/custom_provider.html
) に従ってプロバイダーを構成します。

ユーザーをチェックする関数は次のとおりです。

public function loadUserByUsername($username)
{
    $userData = webServiceCheckUser($username);
    // return an array whit user credentials
    if ($userData) {
        $password = $userData['password'];
        $salt = $userData['salt'];
        $roles = $userData['roles'];
        $user = new WebserviceUser($username, $password, $salt, $roles);
        return $user;
    }
    throw new UsernameNotFoundException(sprintf('Username "%s" does not exist.', $username));
}

これは正常に機能し、関数webServiceCheckUser()はユーザー名を使用して Web サービスを呼び出し、ユーザー データを含む配列を返します。しかし今、ユーザーを認証するためにユーザーのユーザー名と暗号化されたパスワードを必要とする別の Web サービスを介してユーザーをチェックする必要があります。Web サービスが待機しているように平文のパスワードを暗号化する機能を持っていますが、カスタム ユーザー プロバイダー クラス内のフォーム ログインでユーザーが入力したパスワードを取得できません。パスワードがすでに暗号化されていれば問題ありません。どちらかが問題を解決します。

とにかくこれを行うことはありますか?

4

1 に答える 1