Pergunta

Primeiro, deixe-me definir o objetivo final:

Eu gostaria de Wordpress (versão 2.8) para gerir a autenticação de dados / credenciais e controle de acesso para um web site. Wordpress será usado para a maior parte do site, mas algumas páginas será construído fora do ambiente Wordpress. Estas páginas devem ser capazes de utilizar os dados do usuário armazenados authenticaion banco de dados Wordpress como uma referência para tomar suas próprias decisões sobre o acesso.

Assim, a pergunta:

Como, exatamente, os dados de autenticação loja Wordpress usuário em seu banco de dados?


A primeira parte desta resposta é fácil, dentro do banco de dados Wordpress, há uma tabela que contém os dados do usuário principal. Eu acredito que o nome padrão para esta tabela é "wp_users" mas isso pode mudar de acordo com a forma como Wordpress está configurado. Esta tabela contém os campos "USER_LOGIN" e "user_pass" que detêm os dados de usuário e senha, respectivamente.

O "user_login" é simplesmente um campo de texto simples, de modo que é bastante fácil de acesso, mas a senha é salgado e hash. Isso leva à primeira coisa que ainda precisa ser determinado: o que é a salga e processo de hashing usos Wordpress para gerar as cordas que ele armazena em "user_pass"

A outra parte que permanece em aberto é onde / como Wordpress armazena seus "papéis". Na minha instalação, esses papéis padrão para: Administrador, Editor, Autor, Contribuinte e Assinante. O que eu não vejo é como esses papéis estão associados a utilizadores individuais. Além disso, estes podem papel alterado?


Então, para recapitular, a verdadeira questão é em três partes:

1) Qual é o método específico Wordpress usa para transpor as senhas de texto simples dos usuários para as cordas que são armazenados na coluna 'user_pass' do 'wp_users' tabela de banco?

2) Onde estão as ligações entre usuários individuais e suas respectivas Wordpress "papéis" são armazenados?

3) pode "papéis" em Wordpress ser modificado para mudar seus nomes e / ou adicionar / removê-los?


Nota: eu percebo que uma outra abordagem seria a de ter páginas não-Wordpress verificar o cookie Wordpress para determinar o acesso. Eu estou indo para criar uma outra pergunta nesse sentido, mas para fins de esta questão, o foco é sobre como as páginas não-Wordpress pode utilizar o banco de dados Wordpress real para decisões sobre controle de acesso.

Foi útil?

Solução

  1. Wordpress usa o portátil senha PHP quadro hashing . Veja também esta pergunta: Que tipo de haxixe faz uso WordPress
  2. Por padrão esta associação está na tabela de wp_usermeta sob a chave wp_user_level
  3. Não sem um plug-in (ou sem editar editar código Wordpress' ou banco de dados)

Você pode querer olhar para o código para bbPress porque ele vai compartilhar banco de dados de usuário Wordpress'.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top