Как хранить таблицу пользователей?

Общие вопросы по использованию фреймворка. Если не знаете как что-то сделать и это про Yii, вам сюда.
Ответить
Странник
Сообщения: 295
Зарегистрирован: 2013.04.08, 10:35
Откуда: Нижний Новгород

Как хранить таблицу пользователей?

Сообщение Странник »

Делаем новый сайт и задумались как хранить пользователей?
Раньше всех хранили в одной таблице с разбивкой по ролям.

А вот сейчас появилась мысль - а не с делать ли для администраторов отдельную таблицу?
И хранить в ней всех, кто имеет доступ в адм. раздел (админы, редакторы, авторы, модераторы)
А для обычных пользователей (подписчиков RSS, комментаторов и т.д.) сделать свою таблицу.
В минусах вижу, что при авторизации на самом сайте придётся проверять по очереди обе таблицы.
а в плюсах - при авторизации в админке только среди тех, кто явно имеет доступ к админке.
Просто в админку имеют доступ порядка до 20 человек, а на сайте только комментаторов более 3000.
На ленту подписано более 10 000, хотя сколько её забирают не знаю.

Какие минусы ещё есть при разделении таблиц?
Аватара пользователя
sluchainiyznak
Сообщения: 617
Зарегистрирован: 2013.05.19, 17:51
Откуда: ХМАО-Югра, г. Сургут
Контактная информация:

Re: Как хранить таблицу пользователей?

Сообщение sluchainiyznak »

пользователь(злоумышленник) может завести учетку с одинаковым логином как у одного из админов и при неправильной настройке аутентификации обычный пользователь станет админом
Аватара пользователя
MetalGuardian
Сообщения: 208
Зарегистрирован: 2011.03.06, 02:42
Откуда: Киев

Re: Как хранить таблицу пользователей?

Сообщение MetalGuardian »

сделать вход в админку отдельной формой
Аватара пользователя
Neuromance
Сообщения: 716
Зарегистрирован: 2011.09.06, 13:04

Re: Как хранить таблицу пользователей?

Сообщение Neuromance »

Пытаетесь получить выигрыш в скорости в 1 микросекунду?
Странник
Сообщения: 295
Зарегистрирован: 2013.04.08, 10:35
Откуда: Нижний Новгород

Re: Как хранить таблицу пользователей?

Сообщение Странник »

sluchainiyznak писал(а):пользователь(злоумышленник) может завести учетку с одинаковым логином как у одного из админов и при неправильной настройке аутентификации обычный пользователь станет админом
ну во первых при регистрации обычного пользователя проверка по совпадению имён делать по обеим таблицам не сложно. И поставить запрет на указанное имя. Во вторых легко сделать вход не по логину, а по e-mail и паролю. А имя хранить только для отображения.
А при регистрации сделать проверку e-mail.
MetalGuardian писал(а):сделать вход в админку отдельной формой
Она по любому будет отдельной формой.
Neuromance писал(а):Пытаетесь получить выигрыш в скорости в 1 микросекунду?
Нет. Просто интересно, что будет удобнее и правильнее. У нас иногда доходит до полумиллиона посетителей в сутки, и казалось разумным для входа в админку не делать выборку из общей таблицы пользователей.
Хотя за разумность не поручусь. :-)
Аватара пользователя
Neuromance
Сообщения: 716
Зарегистрирован: 2011.09.06, 13:04

Re: Как хранить таблицу пользователей?

Сообщение Neuromance »

Если вы будете 2 раза обращаться к разным таблицам, то в чём вообще смысл разделения?
Аватара пользователя
Neuromance
Сообщения: 716
Зарегистрирован: 2011.09.06, 13:04

Re: Как хранить таблицу пользователей?

Сообщение Neuromance »

Neuromance писал(а):Если вы будете 2 раза обращаться к разным таблицам, то в чём вообще смысл разделения?
а, типа хотите сначала обращаться к админской таблице и если нашли, то ко второй не обращаться...
Ну если честно сомнительно это всё..Гораздо лучше повесить правильные индексы и тогда никакой сверхнагрузки у вас не будет
Странник
Сообщения: 295
Зарегистрирован: 2013.04.08, 10:35
Откуда: Нижний Новгород

Re: Как хранить таблицу пользователей?

Сообщение Странник »

Neuromance писал(а): а, типа хотите сначала обращаться к админской таблице и если нашли, то ко второй не обращаться...
Ну если честно сомнительно это всё..Гораздо лучше повесить правильные индексы и тогда никакой сверхнагрузки у вас не будет
Угу. Именно так и думал. А про сомнительно - сам сомневаюсь. Вот и выложил тут. Может быть кто ещё плюсы или минусы увидит и посоветует.
Кстати. В плюсах разделения по таблицам вижу ещё одно.
В таблице пользователей поле роль задаётся через enum. В случае разделения таблиц пользователю в это поле в принципе нельзя будет вписать одну из административных ролей.
Странник
Сообщения: 295
Зарегистрирован: 2013.04.08, 10:35
Откуда: Нижний Новгород

Re: Как хранить таблицу пользователей?

Сообщение Странник »

Вобщем по здравому рассуждению идея самому перестала нравиться.
Делать две проверки вначале по одной таблице, затем по второй - не выгодно.
Пожалуй проще через RBAC будет реализовать.
Аватара пользователя
SiZE
Сообщения: 2817
Зарегистрирован: 2011.09.21, 12:39
Откуда: Perm
Контактная информация:

Re: Как хранить таблицу пользователей?

Сообщение SiZE »

Странник писал(а):А вот сейчас появилась мысль - а не с делать ли для администраторов отдельную таблицу?
Такая реализация конечно имеет право на жизнь, но она мягко говоря очень бредовая.
Ответить