【发布时间】:2025-12-28 19:05:12
【问题描述】:
我想在 CKAN 中添加新角色。我可以在 authz.py 文件中执行此操作。我定义了一个新角色,并对角色采取了一些行动,它奏效了。但我在基线中做到了这一点。我想在扩展中做到这一点。所以我创建了名为“customroles”的新扩展。我将 authz.py 从“/usr/lib/ckan/default/src/ckan/ckan”复制到自定义文件夹“/usr/lib/ckan/default/src/ckanext-customroles/ckanext/customroles”。然后我添加了新角色(超级),您可以在下面看到代码。
ROLE_PERMISSIONS = OrderedDict([
('admin', ['admin']),
('editor', ['read', 'delete_dataset', 'create_dataset', 'update_dataset', 'manage_group']),
('member', ['read', 'manage_group']),
**('super', ['read', 'delete_dataset', 'create_dataset', 'manage_group']),**
])
def _trans_role_admin():
return _('Admin')
def _trans_role_editor():
return _('Editor')
def _trans_role_member():
return _('Member')
def _trans_role_super():
return _('Super')
但是当我在组织页面中添加新成员时,我看不到新角色。当我修改基本代码时,我看到了新角色。但在扩展它没有工作。
我需要做任何其他事情来修改扩展名中的 authz.py 文件吗?你知道我该如何解决这个问题吗?
谢谢,
【问题讨论】: