2016-05-29 37 views
1

我在AngularJS有一个网站。而且后端基本上被简化为一个RESTful API。目前登录的作品像这样:
用户提供登录凭据 - >发送到服务器 - >验证信息并提供将用于将来的API请求的令牌。
API本身也可以匿名使用。
现在我明白在一个RESTful环境中,我不应该使用Sessions,但是如果我想要显示在过去15分钟内联机的用户该怎么办?我如何确定在过去15分钟内在线的用户是否通过了身份验证或匿名?
我并不是在寻找任何代码示例,而是因为思考。

感谢RESTful并发用户管理

回答

1

我建议你太日期字段添加到用户实体类似lastAccessDate并与用户更新lastAccessDate为当前日期(now())每个API请求。

要获得在最后15分钟表现活跃的所有用户您只需要保证查询在你的数据库与条件:now() - lastAccessDate < 15 minutes

要跟踪你需要添加独立的实体guestsactivitiesshadow users匿名用户,anonymous users可能对那种情况来说是不错的选择。

这听起来有帮助吗?

+0

这几乎是我现在正在做的事情,但匿名用户呢? –

+0

如果你想跟踪他们,你也需要为他们创建一些实体,例如'影子用户','客人'或者其他一些名为'acitivities'的实体,当然''匿名用户'也会这样做:) – gevorg

+0

尽管这并不完全包含解决方案,但我仍然选择了正确的方向。非常感谢你gevorg :) –