使用Play框架实现没有数据库的用户登录/注销

时间:2017-08-25 05:09:22

标签: authentication web playframework

我正在使用Play框架来开发一个Web应用程序。现在我需要实现身份验证/授权无数据库(非常奇怪的要求)。只有登录和注销功能,没有注册。用户名/密码对将使用外部服务进行身份验证。

由于经验有限,我目前的想法是使用令牌进行身份验证,使用本地文件来存储用户名/密码。

我的想法可行吗?有没有推荐的库?如果我使用令牌,我是否需要每次都在Http请求/响应中传递该令牌并在每个控制器中验证令牌?

谢谢!

1 个答案:

答案 0 :(得分:0)

为什么要将用户名和密码存储在本地文件中?我没有看到这一点,这构成了一个数据库,你想要避免它...如果你想部署多个服务器并有一些负载,决定使用本地文件将是一个重要的限制平衡完成。

Playframework是无状态的,这意味着服务器不会保持会话状态。要解决该问题,请使用已签名的会话cookie(浏览器正在存储会话数据,并且无法在会话数据签名时对其进行修改)。

以下是您可以做的事情:

现在这种方法有一个严重的缺点,它允许人们重播(重用)旧会话cookie以假装被记录。另一个(根据您的要求可能不那么严重)是在一定的不活动后实现会话过期并不简单。

这可能足以回答你的问题并给你一个起点。