• 用户角色与权限
    • 编辑内建用户角色的权限
      • 关于邀请访客功能
    • 自定义用户角色

    用户角色与权限

    6.0 版本开始,管理员可以在用户管理界面为一个用户赋予一个角色,不同角色可以配置不同权限,目前支持 10 种权限。

    6.1 版本开始,我们添加了一个新的权限 relo_quota(角色配额),该权限用来给某个用户的角色设置空间配额。例如,我们可以通过添加 'role_quota': '100g' 为 employee 角色设置100GB的空间配额,同时其他用户还是使用默认的空间配额。

    Seafile 内建两种用户角色:defaultguest(访客用户)。

    default 用户实际就是一个普通 Seafile 用户,对应默认权限列表如下:

    1. 'default': {
    2. 'can_add_repo': True,
    3. 'can_add_group': True,
    4. 'can_view_org': True,
    5. 'can_use_global_address_book': True,
    6. 'can_generate_share_link': True,
    7. 'can_generate_upload_link': True,
    8. 'can_invite_guest': False,
    9. 'can_connect_with_android_clients': True,
    10. 'can_connect_with_ios_clients': True,
    11. 'can_connect_with_desktop_clients': True,
    12. 'role_quota': '',
    13. },

    guest 用户对应默认权限列表如下:

    1. 'guest': {
    2. 'can_add_repo': False,
    3. 'can_add_group': False,
    4. 'can_view_org': False,
    5. 'can_use_global_address_book': False,
    6. 'can_generate_share_link': False,
    7. 'can_generate_upload_link': False,
    8. 'can_invite_guest': False,
    9. 'can_connect_with_android_clients': False,
    10. 'can_connect_with_ios_clients': False,
    11. 'can_connect_with_desktop_clients': False,
    12. 'role_quota': '',
    13. },

    编辑内建用户角色的权限

    通过在 seahub_settings.py 里加入相应配置,可以更改内建用户角色的默认权限。

    比如你想让 default 用户可以邀请 guest,让 guest 用户可以查看公共资料库(而不改变其他权限),在 seahub_settings.py 里加入以下配置即可:

    1. ENABLED_ROLE_PERMISSIONS = {
    2. 'default': {
    3. 'can_add_repo': True,
    4. 'can_add_group': True,
    5. 'can_view_org': True,
    6. 'can_use_global_address_book': True,
    7. 'can_generate_share_link': True,
    8. 'can_generate_upload_link': True,
    9. 'can_invite_guest': True,
    10. 'can_connect_with_android_clients': True,
    11. 'can_connect_with_ios_clients': True,
    12. 'can_connect_with_desktop_clients': True,
    13. 'role_quota': '',
    14. },
    15. 'guest': {
    16. 'can_add_repo': False,
    17. 'can_add_group': False,
    18. 'can_view_org': True,
    19. 'can_use_global_address_book': False,
    20. 'can_generate_share_link': False,
    21. 'can_generate_upload_link': False,
    22. 'can_invite_guest': False,
    23. 'can_connect_with_android_clients': False,
    24. 'can_connect_with_ios_clients': False,
    25. 'can_connect_with_desktop_clients': False,
    26. 'role_quota': '',
    27. }
    28. }

    注意对比 default 用户的 can_invite_guest 设置,和 guest 用户的 can_view_org 设置。

    关于邀请访客功能

    如果想要使用 邀请访客 功能,除了赋予用户 can_invite_guest 权限外,还需在 seahub_settings.py 中加入以下配置:

    1. ENABLE_GUEST_INVITATION = True

    重启 Seafile 后, 可以邀请访客的用户,页面左侧会多出 邀请 导航标签。用户提供被邀请人的邮箱后,被邀请人会收到邀请链接。

    自定义用户角色

    如果你想增加一个用户角色,比如 employee 角色,而此角色 不具有 “邀请访客”、“生成上传/下载外链” 权限,在 seahub_settings.py 中加入以下配置:

    1. ENABLED_ROLE_PERMISSIONS = {
    2. 'default': {
    3. 'can_add_repo': True,
    4. 'can_add_group': True,
    5. 'can_view_org': True,
    6. 'can_use_global_address_book': True,
    7. 'can_generate_share_link': True,
    8. 'can_generate_upload_link': True,
    9. 'can_invite_guest': False,
    10. 'can_connect_with_android_clients': True,
    11. 'can_connect_with_ios_clients': True,
    12. 'can_connect_with_desktop_clients': True,
    13. 'role_quota': '',
    14. },
    15. 'guest': {
    16. 'can_add_repo': False,
    17. 'can_add_group': False,
    18. 'can_view_org': False,
    19. 'can_use_global_address_book': False,
    20. 'can_generate_share_link': False,
    21. 'can_generate_upload_link': False,
    22. 'can_invite_guest': False,
    23. 'can_connect_with_android_clients': False,
    24. 'can_connect_with_ios_clients': False,
    25. 'can_connect_with_desktop_clients': False,
    26. 'role_quota': '',
    27. },
    28. 'employee': {
    29. 'can_add_repo': True,
    30. 'can_add_group': True,
    31. 'can_view_org': True,
    32. 'can_use_global_address_book': True,
    33. 'can_generate_share_link': False,
    34. 'can_generate_upload_link': False,
    35. 'can_invite_guest': False,
    36. 'can_connect_with_android_clients': True,
    37. 'can_connect_with_ios_clients': True,
    38. 'can_connect_with_desktop_clients': True,
    39. 'role_quota': '',
    40. },
    41. }

    注意 employee 用户的 can_invite_guestcan_generate_share_linkcan_generate_upload_link 设置。