Как и где лучше хранить логин/пароль админки сайта

Oduvan

Пишу сайт каталог. Сейчас работаю над панелью администратора с авторизацией по сессии и т.д.
Как лучше хранить данные админа? В самой БД создавать отдельную таблицу или хранить в одной таблице с другими пользователями? В отдельном файле? Как это общепринято и надёжно? — суть вопроса

 

artoodetoo

Нормальный подход — хранить данные админа в той же таблице, где все пользователи. Админу присвоить право или роль, которое даст ему доступ к админке. (Это называется авторизация ;) ) А другим пользователям такое право не давать. Как именно, решай сам. Может быть хватит поля users.is_admin tinyint(1)

Но бывает и несколько таблиц для разных категорий пользователей. Мне такой подход не нравится, но приходилось использовать в легаси системах.

 

miketomlin

Некоторые умудряются хранить данные доступа к админке даже не в БД, а в СУБД ;)

Для таких целей можно использовать еще более короткое поле ;) Да-да, нулевой длины :)
— Добавлено —
Также для админа, если он единственный, можно использовать нулевой id.

Валика нет, так что теперь могу свободно высказываться по этому поводу :D

 

don.bidon

То есть если понадобился второй админ, сразу затык возникнет, гениально )

 

miketomlin

Фраза «если он единственный» означает, что не понадобится ;)
— Добавлено —
А если «неожиданно» все же понадобится, добавите доп. поле и отредактируете нужные ф-ции (проверку и т.п.).

 

don.bidon

То есть предлагается написать так, а потом, если вдруг понадобится, переписать. Как бы намечаются излишки свободного времени ))
Про роли @artoodetoo выше написал. Скорее, позже может захотеться давать доступ в админку каким-нибудь менеджерам контента или ещё чего там.

 

miketomlin

@don.bidon, есть куча проектов, где не предполагается второй админ в принципе! Если что-то кардинально изменится, тогда уже будете роли расписывать. А пока не надо из кофемолки космический аппарат делать. И, это, ТС просил накидать вариантов, не вдаваясь в детали. Я написал в том варианте «если». И выше пояснил, что это означает. Админ, контент-менеджер и т.п. в одном лице. Не, не встречали? :)

 

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *