【问题标题】:Wordpress a:2:{s:13:"administrator";b:1;} vs a:1:{s:13:"administrator";b:1;} causing "You do not have sufficient permissions to access this page"Wordpress a:2:{s:13:"administrator";b:1;} vs a:1:{s:13:"administrator";b:1;} 导致“您没有足够的权限访问此页面"
【发布时间】:2014-10-12 17:47:04
【问题描述】:

我有“您没有足够的权限访问此页面。”尝试以管理员身份访问 Wordpress wp-admin 登录时出现问题。出现登录页面,但是当输入用户详细信息时,“您没有足够的权限访问此页面”。出现。

奇怪的是我有另一个管理员帐户,可以正常访问。

我尝试创建一个新的管理员帐户,但也无法访问并给出上述错误消息。

我查看了数据库,不工作的用户有wp_capabilitiesa:1:{s:13:"administrator";b:1;}

工作的用户有:a:2:{s:13:"administrator";b:1;s:13:"bbp_keymaster";b:1;}

我也在运行 S2 Member 插件。

我可以看到帐户之间的唯一区别是a:1a:2 的开头部分。我看到的所有网站都说该帐户应该是:1

我认为这不是插件问题,因为我认为我也无法访问。我认为可能与 s" Member 插件有关,但我现在不知所措。

所有插件都已更新并运行 Wordpress 4.0(但在升级到 4.0 之前这就是一个问题)

感谢所有帮助!

【问题讨论】:

    标签: wordpress permissions administrator


    【解决方案1】:

    我可以看到帐户之间的唯一区别是 a:1 和 a:2 的开头部分。

    仔细看。工作示例有一个额外的部分:s:13:"bbp_keymaster";b:1;

    要理解为什么这很重要,知道这是由 PHP 的 serialize() function 生成的格式会有所帮助。

    如果您对这些字符串中的每一个进行反序列化,您会发现第一个是一个包含 1 个条目的数组(因此为 a:1),键为“administrator”,值为 true。较长的字符串是一个包含该条目加上另一个条目的数组,键为“bbp_keymaster”,也设置为true

    由此,很容易推测“administrator”和“bbp_keymaster”是可以授予用户的权限的内部名称,并且该页面仅对具有“bbp_keymaster”权限的用户可用。

    【讨论】:

    • 感谢您的回复。我应该澄清一下,我的意思是 a:1 和 a:2 部分之间的唯一区别,我意识到有关于 a:1 用户的额外信息。我仍然不明白为什么带有 bbp_keymaster 部分的用户能够登录。我不知道为什么这已经改变了,但我的另一个管理员用户仍然显示为 a:1:{s:13:"administrator" ;b:1;} 并没有 bbp_keymaster?我的所有管理员都应该分配 bbp_keymaster 吗?
    • @Amanda 这是一个额外的权限,可能某些页面需要。您需要将其授予您希望能够访问这些页面的任何用户。
    猜你喜欢
    • 1970-01-01
    • 2011-01-14
    • 1970-01-01
    • 2016-06-05
    • 2018-08-30
    • 1970-01-01
    • 1970-01-01
    • 2015-07-18
    • 2022-02-10
    相关资源
    最近更新 更多