1

我们使用 Erlang/Cowboy 开发了一个基于 WebSockets 的简单聊天服务。当用户连接时,将根据 URL 参数进行身份验证,并将返回连接的用户 ID 或无。

我的愚蠢问题是,如何将用户 id 存储到请求数据结构中,并且可以为以后的进程获取用户 id?

4

1 回答 1

6

如果您正在使用cowboy_rest,您可以handler_state在授权后使用 来存储您的用户数据。就像是:

-record(rs_state{user}).
rest_init(Req, Opts) ->
    {ok, Req, #rs_state{}}.

is_authorized(Req, State) ->
    %% authentication code
    {ok, User} = ...
    {true, Req, State#rs_state{user=User}}}.
于 2012-10-17T05:27:41.800 回答