Стандарт проектирования БД для авторизации пользователей

nw

Новичок
Стандарт проектирования БД для авторизации пользователей

Крик души. Который раз приходилось для некоторых целей адаптировать пару разных скриптов. В который раз столкнулся с одной и той же проблемой - единая авторизация. С этим приходится бороться каждый раз по разному.
Может какой нить стандарт авторизационных таблиц придумать? Будем его продвигать. Мечта - чтобы скрипты, имеющие разные задачи, а главное, разработанные разными людьми, брали информацию для аутентификации из таблицы (таблиц) с одним именем и структурой. Т.е. ставишь новый скрипт, а он бац, подхватил уже существующую таблицу (таблицы) от тех скриптов, которые уже стояли на сервере и юзает информацию оттуда для аутентификации. Все равно ведь практически все процедуры авторизации строятся на похожих табличках.
Может придумаем что нибудь?
Я понимаю что это достаточно сложно - внедрить такой стандарт, но можно хотя бы инициировать процесс.
Минусы:
- Зная имена и структуру таблиц, хакеру легче поломать сайт. Правда это не очень критично для взлома.
Плюсы:
- Легче жить разработчикам/пользователям. Взял готовых скриптов и сделал единый сайт/ресурс без особых заморочек на совместимость.
- Опять же проще разработчикам - есть готовая модель системы авторизации, рекомендованная специалистами.
 

Кром

Новичок
А кто будет принимать решение за утверждение тех или иных принципов построения базы. Консорциума-то нет. :)
 

Фанат

oncle terrible
Команда форума
давайте разработаем единый стандарт новостных лент?
Всем будет удбно - в любой блог включил топ самых горяченьких.
Давайте придумаем единый стандарт телепередач - рекламодателям будет гораздо удобнее вставлять в рекламопрограмму телевизионные блоки.

Это повальная болезнь всех начинающих программистов - унифицировать все подряд.
И вот пишутся многочисленные цмс, а потом на них делаются уродливейшие интернет-магазины или порталы типа сотовик.ру.
Потому, что там все по стандарту.
Не как удобнее юзеру, а как удобнее владельцу сайта было собирать его мышкой из кубиков.

НЕТУ.
Нету единого стандарта.
Я понимаю - еще на инерфейс, но на таблицу!
У людей обычно все данные на юзера лежат в одной таблице. от емейла до пароля. Какой стандарт ввести?

По-моему, проблема высосана из пальца.
Меньше пользуйтесь "готовыми скриптами" и больше пишите своё.

Друкс задвигал что-то подобное (не на уровне таблиц, конечно), но у него, по-моему, ничего не вышло
http://xpoint.ru/forums/programming/PHP/thread/27337.xhtml
 

nw

Новичок
Для начала можно подобрать инициативную группу из желающих. В нее могут войти все, кто готов предложить свою модель БД и обсудить чужие. Эта группа и выдвинет штуки три-четыре варианта для общего голосования. Можно и общественность внеклубную привлечь для их оценки и доработки. Всеобщее голосование и решит.
Привлечь нужно конечно в первую очередь тех, кто разрабатывает "коробочные решения", т.е. скрипты не для конкретных сайтов, а для (или с возможностью) последующего распространения, так как на них-то и вся надежда.
Потом можно и всяких фенечек надизайнить, типа "XXX compatible". Да и приятно, когда твой продукт соответствует какому либо профессиональному стандарту, а так же совместим с другими продуктами сторонних разработчиков.
 

Фанат

oncle terrible
Команда форума
приятно, когда твой продукт соответствует какому либо профессиональному стандарту
стандарт на таблицы БД, к сожалению, такому гордому званию не соответствует.
 

nw

Новичок
У людей обычно все данные на юзера лежат в одной таблице. от емейла до пароля. Какой стандарт ввести?
Стандарт на название таблицы и полей (а так же на их типы данных).
А писать свое конечно нужно, но не всегда оправдано. Да и свое тоже хорошо чтобы было совместимо с другим.
И вот пишутся многочисленные цмс, а потом на них делаются уродливейшие интернет-магазины или порталы типа сотовик.ру.
Это слишком сложные вещи чтобы их универсализировать. Тут же проще все, тем более ты сам говоришь, что у всех все лежит в одной табличке. Так можно договориться называть ее одинаково (и поля и еще кой чего). И будут продукты совместимы. Тут конечно еще имена всяческих кук и сессионных переменных напрашиваются.
Кроме того, стандарты это не обязаловка - нет желания им следовать, так не надо. Мне интересно мнение людей на эту тему.
 

Кром

Новичок
>Всеобщее голосование и решит.

Тогда совсем фигня может получится.

>Привлечь нужно конечно в первую очередь тех, кто разрабатывает "коробочные решения"

Каждый из них будет гнуть свою линию, это очевидно.

И на самом деле, разработка этих таблиц может выйти далеко за рамки самой базы данных. Потому что в некоторых случаях, сам принцип построения таблиц авторизации пользователей, является частью общей концепции всей системы. И тогда это уже не одна табличка с id, name и surname.
 

nw

Новичок
Друкс задвигал что-то подобное (не на уровне таблиц, конечно)
Это уже больше похоже на готовое решение, я же говорил о стандарте проектирования.

-~{}~ 25.10.04 18:23:

И тогда это уже не одна табличка с id, name и surname.
Я и не говорю, что это должна быть обязательно одна табличка. Это может быть система.
Каждый из них будет гнуть свою линию, это очевидно
Это конечно сложно. Но возможно.
Тогда совсем фигня может получится
Да, это наверное так.
Я не призываю всем начать разработку стандарта. Повторюсь - мне интересно обсудить и услышать мнения.

-~{}~ 25.10.04 18:31:

Кстати в этом деле заинтересованы прежде всего те, кто распространяет открытые "коробочные продукты" (и некоторые коммерческие возможно). Ведь обычно основной препон отдельных веб-приложений это единая авторизация.
 

Фанат

oncle terrible
Команда форума
ага.
а единая система шаблонов, для интеграции в общий дизайн - это так, фигня на масле растительном. никому не надо.

А возиться с авторизацией, которая удобна какому-то дяде, вместо того, чтобы взять, да и сунуть авторизации нужные ей переменные и не жужжать - это да, проблема вселенского масштабу.
 

nw

Новичок
И наверное, тут нужно идти не от низа, а от верха. Для этого должна быть инициатива нескольких разработчиков коробочных продуктов, готовых обеспечить совместимость друг с другом хотя бы в общих моментах. Так и продавать/продвигать легче.
 

Фанат

oncle terrible
Команда форума
Крики души на этом форуме разделяются на две категории.
1. У меня есть проблема. Подскажите эффективный путь ее решения.
2. У меня есть проблема. Давайте изобретем Универсальный Решатель Таких Проблем и осчастливим все человечество.
 

nw

Новичок
Фанат
Кстати шаблонизаторы - хорший пример такого стандарта, только немного другой по сути.
 

Фанат

oncle terrible
Команда форума
Для этого должна быть инициатива нескольких разработчиков коробочных продуктов
Золотые слова.
сразу видно не разработчика, а руководителя, привыкшего мыслить масштабно.
 

nw

Новичок
Давайте изобретем Универсальный Решатель Таких Проблем и осчастливим все человечество
Да, проблема высказанная мной примерно такого характера. Правда не обязательно для всего человечества.
Ладно, я отстаивать идею не буду, так как ее нужно хорошо продумывать, и решать прежде всего тем, кто сделал какое либо более-менее популярное коробочное приложение, а за мной таких не числится.
 

Groove

Новичок
Re: Стандарт проектирования БД для авторизации пользователей

Автор оригинала: nw
Может какой нить стандарт авторизационных таблиц придумать?
На форуме sitepoint.com в ветке http://www.sitepoint.com/forums/showthread.php?t=162027

определяются следующие сущности и работа с ними:

User
Role
Object
Operation
Permission
Session

там же предлагаются и разные варианты структуры БД...

сразу оговорюсь - к авторизации данная ветка относится постольку-поскольку, т.к. в основном там идет обсуждение схемы Role Base Access Control, но некоторые вещи стоит почитать...
 

nw

Новичок
Re: Re: Стандарт проектирования БД для авторизации пользователей

Топик был затеян уже не зря.
Докмент http://csrc.nist.gov/rbac/rbac-std-ncits.pdf действительно стоит почитать, тем более что это стандарты ANSI. Надо покопаться поглубже.
 

neko

tеam neko
nw
авторизация и аутентификация я непонял
первое в унифицировать не имеет смысла, т.к. там уже проще некуда
потому что уже унифицировано
(подразумевая использование существующих протоколов/библиотек итп)

второе на 100% зависит от самой системы с которой работают пользователи
или ты предлагаешь выработать общий способ ведения acl, на котором можно будет построить все что угодно?
от гостевой книги до erp системы?

Ладно, я отстаивать идею не буду, так как ее нужно хорошо продумывать, и решать прежде всего тем, кто сделал какое либо более-менее популярное коробочное приложение
т.е. я правильно понимаю
что тебе самому это абсолютно не нужно и это просто рука дрогнула около "создать тему"?

-~{}~ 26.10.04 11:40:

кстати "структура таблиц" это весьма нездоровый подход к унификации
 

nw

Новичок
что тебе самому это абсолютно не нужно и это просто рука дрогнула около "создать тему"?
Мне это нужно как пользователю тех скриптов, которые я использую в своих проектах, об этом и был крик души. НО, я тут бессилен, так как не могу напрямую повлиять на ситуацию. Почему, я уже объяснил. На данный момент в моей власти только призвать разработчиков коробочных систем к объеденению усилий в виде принятия неких стандартов или же самому взять и разработать популярную систему, стандарты которой были бы интересны для других.

или ты предлагаешь выработать общий способ ведения acl, на котором можно будет построить все что угодно?
от гостевой книги до erp системы?
Как правильно заметил Фанат, супер универсального стандарта/решения не получится. Но есть большинство приложений, которые рассчитаны примерно на один уровень и их можно объеденять по этому признаку. Никто не мешает иметь несколько стандартов, ведь приложения уровня ERP наверняка будут интегрироваться не со скриптами гестбуков (и наоборот) а с приложениями своего уровня (например CRM). И наоборот, почему бы гостевой книге не иметь одни стандарты аутентификации с форумом или блогом?
кстати "структура таблиц" это весьма нездоровый подход к унификации
Я не убеждаю создавать именно структуру таблиц. Бог с ним. Главное - единый механизм авторизации. Чтобы пользователи одного скрипта/приложения были доступны другому без специальной адаптации и признавались друг-другом. А уж какая в этих приложениях будет логика и проч. - это на совести разработчиков конкретных приложений.
 

neko

tеam neko
Никто не мешает иметь несколько стандартов
хехех
так вот они тебе, в каждом вполне себе стандарт
свой

Мне это нужно как пользователю тех скриптов, которые я использую в своих проектах, об этом и был крик души. НО, я тут бессилен, так как не могу напрямую повлиять на ситуацию.
понятно
ты хочешь чтобы один готовый скрипт А и готовый скрипт Б которые ты используешь хранили пользователей в одном и том же месте

и предлагаешь всем разработчикам этих скриптов вырабать общую методику

видишь ли она уже есть и не одна
например многие серьезные продукты имеют в кач-ве опции идентификации пользователей через ldap
это уже все есть
есть pam например итп, надо только поискать

ну а если ты работаешь с несерьезными?
думаешь их авторы будут следовать каким-то там стандартам?

тенденция такая есть и без вас, кто в состоянии -- уже следует "стандартам"
 

nw

Новичок
тенденция такая есть и без вас, кто в состоянии -- уже следует "стандартам"
Я где-то сказал что хочу быть Колумбом?
например многие серьезные продукты имеют в кач-ве опции идентификации пользователей через ldap
это уже все есть
есть pam например итп, надо только поискать
Вот за это спасибо, буду рыть в этом направлении. Так же спасибо Groove, расширили мой кругозор. Спасибо всем за дискуссию. Если еще будут линки по теме, постите.
 
Сверху