Прежде всего, позвольте мне определить конечную цель:
Я бы хотел, чтобы Wordpress (версия 2.8) управлял данными аутентификации / учетными данными и контролем доступа для веб-сайта. Wordpress будет использоваться для большей части сайта, но некоторые страницы будут создаваться вне среды Wordpress. Эти страницы должны иметь возможность использовать данные аутентификации пользователя, хранящиеся в базе данных Wordpress, в качестве справочной информации для принятия собственных решений о доступе.
Итак, вопрос:
Как именно Wordpress хранит данные аутентификации пользователя в своей базе данных?
<ч />
Первая часть этого ответа проста: в базе данных Wordpress есть таблица, содержащая основные пользовательские данные. Я полагаю, что именем по умолчанию для этой таблицы является «wp_users», но это может измениться в зависимости от способа установки Wordpress. Эта таблица содержит поля «user_login» и «user_pass», которые содержат данные имени пользователя и пароля соответственно.
"user_login" - это просто текстовое поле, так что к нему достаточно легко получить доступ, но пароль засоляется и хэшируется. Это приводит к первому, что еще предстоит определить: какой процесс Wordpress использует для посылки и хеширования для генерации строк, которые он хранит в «user_pass»?
Другая часть, которая остается открытой, - это где / как Wordpress хранит свои «роли». В моей установке эти роли по умолчанию: администратор, редактор, автор, участник и подписчик. Я не вижу, как эти роли связаны с отдельными пользователями. Кроме того, могут ли эти роли измениться?
<ч />
Итак, резюмируя, реальный вопрос состоит из трех частей:
1) Какой метод Wordpress использует для переноса пользовательских текстовых паролей в строки, хранящиеся в столбце «user_pass» таблицы базы данных «wp_users»?
2) Где хранятся ссылки между отдельными пользователями и их соответствующими "ролями" в Wordpress?
3) Можно ли изменить «роли» в Wordpress, чтобы изменить их имена и / или добавить / удалить их?
<ч />
Примечание: я понимаю, что другим подходом было бы, чтобы страницы, не относящиеся к Wordpress, проверяли файл cookie Wordpress для определения доступа. Я собираюсь создать еще один вопрос в том же духе, но для целей этого вопроса основное внимание уделяется тому, как страницы, не относящиеся к Wordpress, могут использовать фактическую базу данных Wordpress для принятия решений по управлению доступом.