1

私は最初のRestletアプリケーションを実装したばかりです(最後に:])、そして今、私はより大きな問題に取り組んでいます。と呼ばれる非常に単純なリソースを作成しましたLoginResource。これにより、ユーザーがログインできるようにPOSTするGET操作と、ユーザーがログインしているかどうかを確認できる操作が可能になります。これを実装し、実際にクライアントにサーバーを呼び出して「ログイン」させ、結果を確認できるようになったので、誰かがログインしているかどうかを実際に追跡するにはどうすればよいですか?

私のアプリケーションには次のものが必要です。

  1. クライアントに最初にログインさせ、リソースを介してログインしているかどうかを確認できるようにする方法が必要です。
  2. 別のリソースを介してオブジェクトのリストへの「安全な」アクセスを提供する必要があります。非常に簡単ですが、アクセスを制御できるかどうかにかかっています。現在、セッションの感覚がアクティブになっていないため、アクセスを制御できません。

セッションを有効にして、ユーザーをしばらくログインさせ続けるための簡単な方法はありますか?これがPHPの場合、これは私のコードになります。

// login.php: login code
$username = $_POST['username'];
$password = $_POST['password'];

if (validate($username, $password)) {
    session_start();
    $_SESSION['is_logged_in'] = "yarp";
    echo get_login_success();
} else {
    echo get_login_failure();
}

// list.php: display list of objects
if (isset($_SESSION['is_logged_in']))
    echo get_object_list();
else
    echo get_security_error();

すべてをPHPに戻すのは嫌いですが、ちょっと、簡単な擬似コードになります。

4

1 に答える 1

3

HTTP Basic、HTTP Digest、およびHTTP OAuth認証(すべてRestletでサポートされています)をご覧ください。

ブラウザなどの一部のクライアントでは、Cookieベースの認証がRESTで引き続き使用されますが、サーバー側のセッションは使用されません。

このリンクを確認してください: http ://restlet.tigris.org/issues/show_bug.cgi?id = 605

于 2011-04-20T12:15:49.797 に答える