0

Zend Framework を使用して REST の認証がどのように機能するかを理解できないようです。ユーザーが一度ログインすると、ユーザーレベルに応じてサイトの任意の領域にアクセスできるようにしたいと考えています。REST 以外のログイン コードが機能しています。基本的にそれをコピーして、クラスpostAction()のメソッドに配置しました。Api_LoginController

class Api_LoginController extends REST_Controller
{
    public function postAction() {
        $request = $this->getRequest();
        $form    = new Application_Form_LoginForm;

        if ($request->isPost()) {
            if ($form->isValid($request->getPost())) {
                $email     = $form->getValue('email');
                $password  = $form->getValue('password');

                $user = Application_Model_UserModel::getUserByEmail($email);
                if ( $user && $user->login($password)) {
                        echo json_encode(array('error' => false, 'message' => 'Logged in.'));
                } else {
                       echo json_encode(array('error' => true, 'message' => 'Login failed.'));
                }
            }
        }
    }    
}

ここからどうすればいいですか?Zend(1.11) は、その後のアクセスでユーザーを識別できるはずですか? 現在、ログイン後に同じユーザーを識別できないようです。

4

1 に答える 1

0

Zend を使用して REST アプリケーションで認証を提供することができます。

これは大まかにその背後にある考え方です:

  • ユーザーは自分のユーザー名/パスワードを使用してログインします
  • アプリケーションで、ログイン資格情報を検証します
  • これらの資格情報を使用して、通常のアプリケーションのセッション トークンと同様に、一意のトークンを生成できます。
  • 識別トークンをユーザーに送り返します
  • ユーザーがログインしている証拠として、ユーザーがトークンを提供する必要がある後続の各リクエスト
  • アプリケーションはこのトークンを検証し、必要なアクションを実行します

Zend にはすでにこのようなものがたくさん含まれています。少し検索すると、これらのポイントのいくつかを提供し、アプリケーションに適合させる可能性のある多くの機能が見つかります。

于 2013-10-07T14:57:31.573 に答える