Как хранить таблицу пользователей?
Как хранить таблицу пользователей?
Делаем новый сайт и задумались как хранить пользователей?
Раньше всех хранили в одной таблице с разбивкой по ролям.
А вот сейчас появилась мысль - а не с делать ли для администраторов отдельную таблицу?
И хранить в ней всех, кто имеет доступ в адм. раздел (админы, редакторы, авторы, модераторы)
А для обычных пользователей (подписчиков RSS, комментаторов и т.д.) сделать свою таблицу.
В минусах вижу, что при авторизации на самом сайте придётся проверять по очереди обе таблицы.
а в плюсах - при авторизации в админке только среди тех, кто явно имеет доступ к админке.
Просто в админку имеют доступ порядка до 20 человек, а на сайте только комментаторов более 3000.
На ленту подписано более 10 000, хотя сколько её забирают не знаю.
Какие минусы ещё есть при разделении таблиц?
Раньше всех хранили в одной таблице с разбивкой по ролям.
А вот сейчас появилась мысль - а не с делать ли для администраторов отдельную таблицу?
И хранить в ней всех, кто имеет доступ в адм. раздел (админы, редакторы, авторы, модераторы)
А для обычных пользователей (подписчиков RSS, комментаторов и т.д.) сделать свою таблицу.
В минусах вижу, что при авторизации на самом сайте придётся проверять по очереди обе таблицы.
а в плюсах - при авторизации в админке только среди тех, кто явно имеет доступ к админке.
Просто в админку имеют доступ порядка до 20 человек, а на сайте только комментаторов более 3000.
На ленту подписано более 10 000, хотя сколько её забирают не знаю.
Какие минусы ещё есть при разделении таблиц?
- sluchainiyznak
- Сообщения: 617
- Зарегистрирован: 2013.05.19, 17:51
- Откуда: ХМАО-Югра, г. Сургут
- Контактная информация:
Re: Как хранить таблицу пользователей?
пользователь(злоумышленник) может завести учетку с одинаковым логином как у одного из админов и при неправильной настройке аутентификации обычный пользователь станет админом
- MetalGuardian
- Сообщения: 208
- Зарегистрирован: 2011.03.06, 02:42
- Откуда: Киев
Re: Как хранить таблицу пользователей?
сделать вход в админку отдельной формой
- Neuromance
- Сообщения: 716
- Зарегистрирован: 2011.09.06, 13:04
Re: Как хранить таблицу пользователей?
Пытаетесь получить выигрыш в скорости в 1 микросекунду?
Re: Как хранить таблицу пользователей?
ну во первых при регистрации обычного пользователя проверка по совпадению имён делать по обеим таблицам не сложно. И поставить запрет на указанное имя. Во вторых легко сделать вход не по логину, а по e-mail и паролю. А имя хранить только для отображения.sluchainiyznak писал(а):пользователь(злоумышленник) может завести учетку с одинаковым логином как у одного из админов и при неправильной настройке аутентификации обычный пользователь станет админом
А при регистрации сделать проверку e-mail.
Она по любому будет отдельной формой.MetalGuardian писал(а):сделать вход в админку отдельной формой
Нет. Просто интересно, что будет удобнее и правильнее. У нас иногда доходит до полумиллиона посетителей в сутки, и казалось разумным для входа в админку не делать выборку из общей таблицы пользователей.Neuromance писал(а):Пытаетесь получить выигрыш в скорости в 1 микросекунду?
Хотя за разумность не поручусь.
- Neuromance
- Сообщения: 716
- Зарегистрирован: 2011.09.06, 13:04
Re: Как хранить таблицу пользователей?
Если вы будете 2 раза обращаться к разным таблицам, то в чём вообще смысл разделения?
- Neuromance
- Сообщения: 716
- Зарегистрирован: 2011.09.06, 13:04
Re: Как хранить таблицу пользователей?
а, типа хотите сначала обращаться к админской таблице и если нашли, то ко второй не обращаться...Neuromance писал(а):Если вы будете 2 раза обращаться к разным таблицам, то в чём вообще смысл разделения?
Ну если честно сомнительно это всё..Гораздо лучше повесить правильные индексы и тогда никакой сверхнагрузки у вас не будет
Re: Как хранить таблицу пользователей?
Угу. Именно так и думал. А про сомнительно - сам сомневаюсь. Вот и выложил тут. Может быть кто ещё плюсы или минусы увидит и посоветует.Neuromance писал(а): а, типа хотите сначала обращаться к админской таблице и если нашли, то ко второй не обращаться...
Ну если честно сомнительно это всё..Гораздо лучше повесить правильные индексы и тогда никакой сверхнагрузки у вас не будет
Кстати. В плюсах разделения по таблицам вижу ещё одно.
В таблице пользователей поле роль задаётся через enum. В случае разделения таблиц пользователю в это поле в принципе нельзя будет вписать одну из административных ролей.
Re: Как хранить таблицу пользователей?
Вобщем по здравому рассуждению идея самому перестала нравиться.
Делать две проверки вначале по одной таблице, затем по второй - не выгодно.
Пожалуй проще через RBAC будет реализовать.
Делать две проверки вначале по одной таблице, затем по второй - не выгодно.
Пожалуй проще через RBAC будет реализовать.
Re: Как хранить таблицу пользователей?
Такая реализация конечно имеет право на жизнь, но она мягко говоря очень бредовая.Странник писал(а):А вот сейчас появилась мысль - а не с делать ли для администраторов отдельную таблицу?