角色和权限

0条评论

WordPress的角色(Roles)特点旨在允许博主控制并决定其他用户的可为与不可为。博主必须能够撰写和编辑日志创建页面定义链接创建分类管理评论管理插件管理外观主题以及管理其他用户。给予博主此种控制的工具即是为用户分派角色。

WordPress 2.0版

WordPress 2.0版中引入了角色的概念。5个WordPress预定义角色分别是:管理员编辑作者贡献者订阅者。各角色都可以执行一系列的任务,被称为能力(Capabilities),多达30种的各类能力包括有撰写和编辑日志管理评论管理其他用户。这些能力均被预先分派给各角色了。

管理员角色被允许执行所有可能的能力,而其他各角色的可执行能力则或多或少地受到限制。比如,订阅者角色仅被允许阅读,等级为0。不应把某特定角色看作高于其他某一角色,而应认为这些角色定义了用户在博客中的职责。

插件开发者们很可能会对目前这些标准的角色和能力进行修订,因为WordPress开发者们早已为单个用户多个角色还有用户能力直接指派的实现埋下了伏笔。由于插件可能会更改角色及能力,因此在此文中仅涉及标准的角色及能力。

博主的超级能力

扮演最重要角色的人即是博主了。博主一般都要负责MySQL 数据库的维护和备份以及WordPress文件存储库(程序,脚本,插件,外观主题,图片,上传内容)的管理。博客能够运行流畅完全得益于博主能够完美地演绎此举足轻重的角色。注:在大多数情况下,博客所有者(博主)会扮演管理员的角色,但他也可以将该角色指派给其他用户。

各角色简介

  • 管理员 - 可以执行所有管理操作的人
  • 编辑 - 可以发布日志,管理自己和他人日志的人
  • 作者 - 可以发布并管理自己日志的人
  • 贡献者 - 可以撰写并管理自己日志的人,但不能发布日志
  • 订阅者 - 可以阅读评论,进行评论,接收新闻邮件的人

角色

博客中某特定用户的身份就是他们的角色。角色(Role)所描述的某用户可执行的一系列任务被称之为能力(Capabilities)。比如管理员这个角色拥有执行WordPress博客内的所有任务的能力。那么相对而言,作者这一角色只能执行所有能力之中的一部分而已。

使用相似权限将毗邻层卷入具有逻辑和名称的角色中,WordPress 2.0简化了WordPress 1.5的用户层方法。举例来说,Level 0就是订阅者角色具有的等级,而编辑角色则混合有Levels 5和6的权限等级。

管理员

角色名称:管理员(Administrator)

能力:
  • 编辑

    角色名称:编辑(Editor)

    能力:

    作者

    角色名称:作者(Author)

    能力:

    贡献者

    角色名称:贡献者(Contributor)

    能力:

    订阅者

    角色名称:订阅者(Subscriber)

    能力:

    角色能力对照表

     

    能力 管理员 编辑 作者 贡献者 订阅者
    switch_themes          
    edit_themes          
    activate_plugins          
    edit_plugins          
    edit_users          
    edit_files          
    manage_options          
    import          
    unfiltered_upload          
    edit_dashboard          
    update_plugins          
    delete_plugins          
    moderate_comments          
    manage_categories          
    manage_links          
    unfiltered_html          
    edit_published_posts          
    edit_others_posts          
    edit_pages          
    delete_users          
    create_users          
    edit_others_pages          
    edit_published_pages          
    publish_pages          
    delete_pages          
    delete_others_pages          
    delete_published_pages          
    delete_others_posts          
    delete_private_posts          
    edit_private_posts          
    read_private_posts          
    delete_private_pages          
    edit_private_pages          
    read_private_pages          
    upload_files          
    publish_posts          
    delete_published_posts          
    edit_posts          
    delete_posts          
    read          
     
    level_10          
    level_9          
    level_8          
    level_7          
    level_6          
    level_5          
    level_4          
    level_3          
    level_2          
    level_1          
    level_0

     

    能力

    switch_themes

    允许访问管理面板的选项:

    • 设计
    • 设计  > 外观主题
    • 设计  > 微件

    edit_themes

    允许访问管理面板的选项:

    • 设计 > 外观主题编辑器
    • 设计 > 当前外观主题选项

    activate_plugins

    允许访问管理面板的选项:

    • 插件
    • 插件 > 插件

    edit_plugins

    允许访问管理面板的选项:

    • 插件 > 插件编辑器

    edit_users

    允许访问管理面板的选项:

    • 用户
    • 用户 > 作者&用户

    edit_files

    允许访问管理面板的选项:

    • 管理 > 文件

    manage_options

    允许访问管理面板的选项:

    • 选项 > 一般
    • 选项  > 撰写
    • 选项  > 阅读
    • 选项  > 讨论
    • 选项 > 永久链接
    • 选项  > 杂项

    moderate_comments

    允许访问管理面板的选项:

    • 问:此为空。我想用户可以在管理中接受和拒绝(=删除)某条评论。那么他是否可以删除其他评论呢?Tordans 2006年4月8日,17:56 (GMT) 

    manage_categories

    允许访问管理面板的选项:

    • 管理 > 分类

    manage_links

    允许访问管理面板的选项:

    • 链接 
    • 链接  > 管理链接
    • 链接  > 添加链接
    • 链接  > 链接分类
    • 链接  > 导入链接

    upload_files

    允许访问管理面板的选项:

    • 上传

    import

    允许访问管理面板的选项:

    • 导入

    unfiltered_html

    允许用户在页面,日志和评论中发布HTML标记,甚至可以发布Javascript代码。

    注:对不信任的用户启用此选项可能会招致他们在你的博客中发布恶意代码。

    edit_posts

    允许访问管理面板的选项:

    • 撰写
    • 撰写 > 撰写日志
    • 管理
    • 管理 > 日志
    • 管理 > 评论 -- "显示日志","编辑日志","编辑评论"及"删除评论"链接尽对自己的日志启用,因为edit-comment.php会查找"current_user_can('edit_post', $comment->comment_post_ID)"'
    • 管理 > 尚待审核

    edit_others_posts

    • 管理 > 评论 -- 让用户删除和编辑所有评论(见前文中的edit_posts)
    • 用户可以通过get_others_drafts() 函数编辑其他用户的日志
    • 用户可查看其它用户联机上传中的图片[看不到吗?请参看inline-uploading.php]

    edit_published_posts

    用户可以编辑自己已发布的日志。此能力默认情况下是关闭的。core会检查edit_posts,但经要求被更改为edit_published_posts
    如果你不希望用户能够对自己已发布的日志进行编辑的话,请移除此能力。(另见Role Manager插件首页上的此条评论)。

    publish_posts

    用户可以

    • 在撰写日志时看到并选择radiobox"发布"
    • 在日志下看到并使用"发布"按钮(否则他们只能保存草稿)
    • 使用xmlrpc来发布(否则会看到"对不起,你无法在此博客或分类中发布日志。")

    edit_pages

    允许访问管理面板的选项:

    • 撰写 > 撰写页面 -- 可访问"page-new.php"
    • 管理 > 页面 -- 所有用户可查看"/wp-admin/edit-pages.php",但仅在此可看到列表中的'编辑'和'删除'链接。

    据我所知,所有的编辑(者)都可以编辑其他人的页面。Dave J. (Scoop0901),2007年1月30日 16:38(UTC)

    read

    允许访问管理面板的选项:

    • 控制台
    • 你的个人资料

    除了menu.php,不于核心代码中任何地方使用

    edit_others_pages

    自2.1

    edit_published_pages

    自2.1

    edit_published_pages

    自2.1

    delete_pages

    自2.1

    delete_others_pages

    自2.1

    delete_published_pages

    自2.1

    delete_posts

    自2.1

    delete_others_posts

    自2.1

    delete_published_posts

    自2.1

    delete_private_posts

    自2.1

    edit_private_posts

    自2.1

    read_private_posts

    自2.1

    delete_private_pages

    自2.1

    edit_private_pages

    自2.1

    read_private_pages

    自2.1

    delete_users

    自2.1

    create_users

    自2.1

    unfiltered_upload

    自2.3

    edit_dashboard

    自2.5

    update_plugins

    自2.6

    delete_plugins

    自2.6

    level_10

    允许访问管理面板的选项:

    • 为插件向后兼容性而保留

    level_9

    允许访问管理面板的选项:

    • 为插件向后兼容性而保留 

    level_8

    允许访问管理面板的选项:

    • 为插件向后兼容性而保留

    level_7

    允许访问管理面板的选项:

    • 为插件向后兼容性而保留

    level_6

    允许访问管理面板的选项:

    • 为插件向后兼容性而保留

    level_5

    允许访问管理面板的选项:

    • 为插件向后兼容性而保留

    level_4

    允许访问管理面板的选项:

    • 为插件向后兼容性而保留 

    level_3

    允许访问管理面板的选项:

    • 为插件向后兼容性而保留

    level_2

    允许访问管理面板的选项:

    • 为插件向后兼容性而保留

    level_1

    允许访问管理面板的选项:

    • 为插件向后兼容性而保留 

    level_0

    允许访问管理面板的选项:

    • 为插件向后兼容性而保留

    用户层向角色的转换

    • 用户层Level 0 转为订阅者角色
    • 用户层Level 1 转为贡献者角色
    • 用户层Level 2 转为作者角色
    • 用户层Level 3 转为作者角色
    • 用户层Level 4 转为作者角色
    • 用户层Level 5 转为编辑角色
    • 用户层Level 6 转为编辑角色
    • 用户层Level 7 转为编辑角色
    • 用户层Level 8 转为管理员角色
    • 用户层Level 9 转为管理员角色
    • 用户层Level 10 转为管理员角色

    角色向用户层的转换

    订阅者角色

    用户层Level 0

    贡献者角色

    用户层Level 1

    作者角色

    用户层Level 2,3和4

    编辑角色

    用户层Level 5,6和7

    管理员角色

    用户层Level 8,9和10

    其他资源