Пишу сайт каталог. Сейчас работаю над панелью администратора с авторизацией по сессии и т.д. Как лучше хранить данные админа? В самой БД создавать отдельную таблицу или хранить в одной таблице с другими пользователями? В отдельном файле? Как это общепринято и надёжно? - суть вопроса
Нормальный подход — хранить данные админа в той же таблице, где все пользователи. Админу присвоить право или роль, которое даст ему доступ к админке. (Это называется авторизация ) А другим пользователям такое право не давать. Как именно, решай сам. Может быть хватит поля users.is_admin tinyint(1) Но бывает и несколько таблиц для разных категорий пользователей. Мне такой подход не нравится, но приходилось использовать в легаси системах.
Некоторые умудряются хранить данные доступа к админке даже не в БД, а в СУБД Для таких целей можно использовать еще более короткое поле Да-да, нулевой длины --- Добавлено --- Также для админа, если он единственный, можно использовать нулевой id. Валика нет, так что теперь могу свободно высказываться по этому поводу
Фраза «если он единственный» означает, что не понадобится --- Добавлено --- А если «неожиданно» все же понадобится, добавите доп. поле и отредактируете нужные ф-ции (проверку и т.п.).
То есть предлагается написать так, а потом, если вдруг понадобится, переписать. Как бы намечаются излишки свободного времени )) Про роли @artoodetoo выше написал. Скорее, позже может захотеться давать доступ в админку каким-нибудь менеджерам контента или ещё чего там.
@don.bidon, есть куча проектов, где не предполагается второй админ в принципе! Если что-то кардинально изменится, тогда уже будете роли расписывать. А пока не надо из кофемолки космический аппарат делать. И, это, ТС просил накидать вариантов, не вдаваясь в детали. Я написал в том варианте «если». И выше пояснил, что это означает. Админ, контент-менеджер и т.п. в одном лице. Не, не встречали?