我正在创建 CMS,现在面临一些问题,我需要您的建议。我有几个不同的模块(应用程序)我可以为它们定义自定义权限 - 在模型中我定义自定义权限,如“view_store”、“edit_store”、“delete_store”等。然后我定义了不同的用户组(我想要基于组的用户访问控制)——管理员、编辑器、vip、用户。
我在运行一个时间命令来初始化 CMS(manage.py initcms)时创建了这些组,我当然希望所有正确的权限都将同时添加到组中。
initcms 操作在 syncdb 之后运行,因此所有模型都在 DB 中(当然还有关于权限的信息)。
我有一些想法......如果这是一个好方法还是你有更好的方法?让我描述一下我的:例如,我想为 vip 用户提供所有模型(定义了此权限)对“view_*”的所有权限。这意味着vip可以查看所有内容。我在初始化数据库时有一个想法,只需获取适合模式“LIKE view_%”的所有条目(所有权限),然后将这些全部添加到组的权限中。
但是如果新模块将被添加,那么问题是......我需要重新运行这个动作并检查所有权限是否正确......也许有一些动态的方法来处理组权限?