【问题标题】:Persistent authentication with finagle使用 finagle 进行持久身份验证
【发布时间】:2012-10-23 16:44:58
【问题描述】:

我正在开发回合制策略游戏,并且正在尝试进行多人游戏部分。我从未做过类似的事情,但我收到了使用 rpc 的强烈建议。我的多人游戏将托管在主服务器上,基本上玩家发送他所做的事情并接收游戏的新状态。如果我理解正确,使用 rpc 架构,服务器只能回复他收到的请求。

所以我的想法是,玩家首先登录服务器,发送凭据,然后通过 rpc 发送他所做的事情,并且每 x 毫秒他尝试刷新他当前的游戏(通过发送“刷新”请求)。我不明白的是,我如何才能记住认证。我是否需要为每个请求每次重新登录(并发送凭据)(这似乎需要发送大量信息)。如何识别来自我当前已授予身份验证的人的请求?如何处理连贯但分离的请求之间的逻辑?

【问题讨论】:

    标签: scala authentication rpc thrift finagle


    【解决方案1】:

    一种可能的解决方案是在服务器端维护会话。

    当用户登录时,您可以生成会话 ID 并将会话 ID 存储到服务器上的会话数据(用户 ID 等)映射。会话数据可能存储在内存中或一些快速键值存储中,如 redis 或 memcached。存储数据后,您可以将会话 ID 发送回客户端。现在您可以将此会话 ID 发送到服务器以识别用户。

    【讨论】:

    • 它没有大的安全问题,并且它要求每个请求都提供冗余信息吗?
    猜你喜欢
    • 2018-04-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-11
    • 1970-01-01
    • 2018-02-24
    • 1970-01-01
    相关资源
    最近更新 更多