java - ReSTLet 中的 session ?

标签 java session rest restlet httpsession

我刚刚实现了我的第一个 ReSTLet 应用程序(终于 :]),现在我要解决一个更大的问题。我构建了一个名为 LoginResource 的非常简单的资源,它允许 POSTGET 操作允许用户登录并检查他们是否分别登录。现在我已经实现了这个并且我实际上可以让客户端调用服务器“登录”并查看结果,我如何才能真正跟踪某人是否登录?

我的应用程序需要以下内容:

  1. 我需要一种方法让客户最初​​登录并能够查看他们是否通过资源登录。
  2. 我需要通过另一个资源提供对对象列表的“安全”访问。这很简单,但这取决于我是否能够控制访问权限,目前我无法做到这一点,因为我没有任何激活 session 的感觉。

有没有一种简单的方法可以让我启用 session 并让用户保持登录一段时间?如果这是 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,但是,嘿,它可以生成快速的伪代码。

最佳答案

查看 HTTP Basic、HTTP Digest 和 HTTP OAuth 身份验证(ReSTLet 均支持)。

对于某些客户端(如浏览器),基于 cookie 的身份验证仍在 REST 中使用,但没有服务器端 session 。

检查此链接: http://restlet.tigris.org/issues/show_bug.cgi?id=605

关于java - ReSTLet 中的 session ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5683490/

相关文章:

java - 物体没有停在目标位置

java - 将扫描仪传递给方法

c# - 在同一应用程序中同时使用 InProc session 和 SQL 服务器 session

asp.net - 我如何从进程中慢慢迁移到使用 Redis 作为 session 状态提供程序?

session - 在我保存后刷新 Controller 中的 session

WCF REST 错误 HTTP 307

Java REST 服务 PUT 参数

java - 根据用户输入打印菱形图案

rest - 在 REST 架构中,客户端如何使用超媒体?

java - MockMvc 抛出 HttpMediaTypeNotSupportedException 状态预期为 : 201 but was 415