Я хочу, чтобы мои пользователи активировали свои учетные записи, прежде чем они смогут войти в систему. После регистрации им отправляется электронное письмо со ссылкой для активации, примерно так:
http://www.blabla.com/activate.php?email=blabla@blabla.com&token=Aisd23uNMAu53932asdDasd82AS
Конечно, всякий раз, когда кто-то входит в систему, я должен проверять, активировал ли этот пользователь свой аккаунт. Я могу придумать 2 способа решения этой проблемы, либо добавить дополнительный столбец в моей таблице «пользователи», который устанавливается пустым, когда пользователь активирует следующим образом:
-----------------------------------------------
| id | username | password | activation_token |
-----------------------------------------------
| 1 | user1 | blabla | |
-----------------------------------------------
| 2 | user1 | blabla | asd232DA34qADJs2 |
-----------------------------------------------
Затем я извлекаю маркер Activation_token вместе с пользовательской информацией всякий раз, когда пользователь входит в систему. Или у меня может быть отдельная таблица, содержащая только токены активации, которая затем присоединяется к таблице 'users' каждый раз, когда пользователь входит в систему:
--------------------------------------
| id | account_id | activation_token |
--------------------------------------
| 1 | 37 | dsad2428491dka98 |
--------------------------------------
| 2 | 2 | asd232DA34qADJs2 |
--------------------------------------
Так, какой из них будет наиболее эффективным? Спасибо за ваше время.
РЕДАКТИРОВАТЬ: Спасибо за все замечательные ответы