ZODB的精细授权

2024-06-01 02:40:57 发布

您现在位置:Python中文网/ 问答频道 /正文

我一直在研究使用ZODB作为多人视频游戏的持久层。我非常喜欢它与任意面向对象数据结构的无缝集成。然而,我在一个问题上跌跌撞撞,我不知道ZODB能否为我解决这个问题。你知道吗

显然,可以使用ZEO的ClientStorage访问用于持久化的远程数据存储。虽然这在可信的本地网络中非常好,但是在开放网络中,如果没有适当的授权和身份验证,就无法做到这一点。你知道吗

所以我想知道,是否有机会在ZODB中实现以下概念:

在服务器端,我希望有一个ZEO服务器运行,加上一个游戏世界的模拟,它可以作为ZEO服务器上的完全授权客户机运行(或者使用与ZEO服务器相同的文件存储)。你知道吗

在客户端,我需要对ZEO服务器进行非常有限的读/写访问,以便客户端只能查看其用户应该知道的信息(例如,其角色的周围区域),并且只能修改与其角色可以执行的操作相关的信息。你知道吗

这些限制必须由服务器使用某种细粒度授权方案来实施。所以我需要能够告诉服务器用户A是否有读/写对象B的权限

现在有没有办法在ZODB或第三方解决方案中解决这类问题?或者有没有办法用这种方式扩展ZEO?你知道吗


Tags: 用户服务器信息游戏角色客户端数据结构视频
1条回答
网友
1楼 · 发布于 2024-06-01 02:40:57

不,ZEO从来就不是为这种用途而设计的。你知道吗

它是为跨多个进程扩展ZODB访问而设计的,身份验证和授权留给数据之上的应用程序。你知道吗

无论如何,我不会用ZEO来处理本地网络之外的任何事情。使用不同的协议来处理游戏客户端和游戏服务器之间的通信,而只保留ZODB服务器端。你知道吗

相关问题 更多 >