0

我正在构建一个完全使用远程 API 处理所有内容的 Rails 应用程序。远程 API 具有用户信息、权限等。

由于我的用户权限存在于远程 API 中,我想知道如何在控制器级别检查用户是否有权访问特定页面。

现在这意味着我需要在每个控制器操作上 ping API,或者我可以开始使用缓存。但我不知道权限何时更改,因此缓存会产生同步问题。

人们通常如何处理这个问题?

4

2 回答 2

0

当我制作类似的系统时,每个会话(登录时)我只有一次同步用户。

此外,我可以建议您在后台同步活动用户,例如每 5 分钟一次(如果重要的话)

于 2013-05-03T14:40:35.087 回答
0

如果您的应用程序仅以只读方式使用权限,那么将 API 返回的权限缓存几分钟也没什么坏处。

如果您的应用程序还允许用户以某种方式更改权限,则只需确保您获取非缓存权限即可。

当用户访问具有更高敏感性/安全级别的内容(登录、更改密码或其他与配置文件相关的内容)时,您还应该始终使用权限的非缓存版本。

于 2013-05-03T14:43:08.243 回答