将单个用户应用程序转换为多用户应用程序

时间:2013-05-22 06:31:11

标签: c data-structures shared-memory

我正在处理当前是单用户的旧C应用程序。我想修改它以便它是多用户。

当前应用程序使用用户权限将相关数据(对于当前用户)加载到共享内存中。我想在共享内存中实现类似字典的字典,以便使用唯一的用户密钥存储相关数据 - 但是,一个简单的字典结构将导致字典中保存的数据被复制,因为所有用户共享相同的数据,但是只允许根据角色/权限对数据进行受限制的“观看”。

有人可以建议数据结构提供字典的“查找”行为,但避免“天真”字典不可避免地导致数据的重复性吗?

注意:我的应用程序是在C中,所以我不能使用类,我需要一个可以用C实现的数据结构,并存储在共享内存中。

2 个答案:

答案 0 :(得分:0)

为其条目创建一个全局字典和用户特定索引。

答案 1 :(得分:0)

在Linux中,系统调用unshare用于实现多用户支持。