什么是WordPress的方式存储用户的认证数据背后的细节?(What are the detail

2019-09-17 05:25发布

首先,让我定义的最终目标:

我想WordPress的(2.8版本)来管理一个网站的认证数据/凭证和访问控制。 WordPress的将被用于大部分的网站,但有些页面将WordPress的环境之外建立。 这些网页应该能够使用存储的WordPress数据库中的用户数据authenticaion作为参考,使有关访问自己的决定。

因此,问题:

到底是如何做的WordPress存储用户身份验证在其数据库中的数据?


此答案的第一部分是容易的,WordPress的数据库里面,有保持所述主用户数据的表。 我相信,此表的默认名称为“wp_users”,但可以改变基于道路WordPress是设置。 此表包含分别持有的用户名和密码的数据,字段“USER_LOGIN”和“user_pass”。

该“USER_LOGIN”是一个简单的纯文本字段,这样是很容易访问,但密码咸鱼和散列。 这导致仍然需要确定的第一件事:什么是腌制和散列过程WordPress使用生成它存储在“user_pass”琴弦?

仍保持开放的另一部分就是/ WordPress的是如何存储“角色”。 在我的安装中,这些角色默认为:管理员,编辑,作者,投稿者和用户。 我没有看到的是这些角色如何与个人用户相关联。 此外,可以将这些角色改变?


因此,要回顾一下,真正的问题是在三个部分:

1)什么是WordPress使用转置用户的明文密码存储在了‘wp_users’数据库表‘user_pass’列中的字符串的具体方法?

2)如果是个人用户和他们各自的WordPress的“角色”之间的联系存储?

3)可以在WordPress的“角色”进行修改,以改变他们的名字和/或添加/删除它们?


注:我知道,另一种方法就是让非WordPress的网页检查WordPress的cookie来确定访问。 我要创造沿着这些线路的另一个问题,但这个问题的目的,重点是在非WordPress的页面如何利用对访问控制决策的实际WordPress的数据库。

Answer 1:

  1. WordPress的使用便携式PHP的密码哈希框架 。 也看到这个问题: 不WordPress的使用什么类型的哈希?
  2. 默认情况下,该协会是在wp_usermeta表下wp_user_level关键
  3. 不是没有插件(或不编辑编辑WordPress的代码或数据库)

你可能想看看的代码bbPress的 ,因为它会共享WordPress的用户数据库。



文章来源: What are the details behind the way Wordpress stores user authentication data?