[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Авторизация и ООП
UninstallZX
Добрый вечер! Сегодня сидел и думал, как сделать авторизацию на классах. Только ничего толкового не надумал. Гугл тоже ничего толкового не дал (Только ссылки на форумы, в которых посылали в гугл). Попытался написать что то, но опять же ничего не получилось. Если не сложно, дайте пожалуйста пример авторизации на ООП (желательно с MVC). Прошу прощения за нубский вопрос, но правда очень интересно. Еще раз всем спасибо.



Спустя 17 минут, 34 секунды (19.06.2011 - 00:25) Игорь_Vasinsky написал(а):
Нупо моей мысли - принять логин и пароль, вернуть результат, + восстановление пароля + взаимодействие с БД, ты б хоть наброски показал,или с алгоритмом или функционалом не определился?

Спустя 2 минуты, 52 секунды (19.06.2011 - 00:28) UninstallZX написал(а):
Пока не определился. А куда потом этот результат возвращать? Вот создал я контроллер, он обработал полученные пост-данные. А куда результат возвращать? И сразу следующий вопрос: как сделать систему званий? Хотя-бы примитивную (юзер, админ)?

Спустя 2 минуты, 40 секунд (19.06.2011 - 00:31) Игорь_Vasinsky написал(а):
в таблице БД.

id | login | pass .... | admin| moderator | god |
1 vasia ***** false true false


А результат возрашается в VIEW

Спустя 1 минута, 21 секунда (19.06.2011 - 00:32) UninstallZX написал(а):
Оригинально... Я думал сделать числовые значения. Что-то вроде Админ - 1, Модер - 2, Юзер - 3. Прошу прощения не заметил. Дык view много. В каждый возвращать?

Спустя 4 минуты, 54 секунды (19.06.2011 - 00:37) Игорь_Vasinsky написал(а):
так проверка короче wink.gif кому как нравиться, я вообще обычно 1 пишу, если активен

Правильней наверн - отдельную таблицу для администрации и спецзваний, а туды вписывать по id на строку

Спустя 3 минуты, 28 секунд (19.06.2011 - 00:41) UninstallZX написал(а):
Может быть есть готовый скрипт, примерно того что я хочу? Хотелось бы посмотреть.

Спустя 2 минуты, 45 секунд (19.06.2011 - 00:43) Игорь_Vasinsky написал(а):
нее.. вообще любой код лучше писать под себя , тем более такой wink.gif

Спустя 1 минута, 33 секунды (19.06.2011 - 00:45) UninstallZX написал(а):
Не для использования. Для обучения, так сказать=) Не до конца все-таки понял с авторизацией.

Спустя 12 часов, 26 минут, 45 секунд (19.06.2011 - 13:12) Игорь_Vasinsky написал(а):
Тебя интересует сам вопрос авторизации или непосредственно создание класса? по сути класс это ни что иное как объединение свойств и методов (они же функции).

Спустя 3 часа, 7 минут, 4 секунды (19.06.2011 - 16:19) Baton написал(а):
Чтобы система "рангов" была гибче, можно хранить отдельно таблицу рангов в виде:

1  Администратор  {Описание администратора}
2 Модератор {Описание модератора}
3 Пользователь {Описание пользователя}


Отдельно учётные записи
1  ИванЛогин    ИванПароль    ИванПочта
2 СемёнЛогин СемёнПароль СемёнПочта
3 АнтонЛогин АнтонПароль АнтонПочта


И отдельно привязку к рангам (это вроде придаёт БД нормализованный вид, не?)
[id связки]  [id пользователя]  [id ранга]
1 1 1
2 1 2
3 2 3
4 3 3
5 3 2


Таким образом, Иван у нас и администратор, и модератор. Сёма - пользователь. А Антошка - юзер и модератор.

При выводе, управлении, обработке и т.д. смотреть к каким рангам относится пользователь и - соответственно - разрешать/не разрешать, выводить/не выводить и тому подобное. Например, если пользователь - администратор, то выводим ссылку "удалить". Если пользовать и модератор, и администратор, выводим ссылки "удалить" и "исправить". Проверка производится, естесственно, только по idшникам рангов.

алсо, всё это для примера - ногами не пинать :D
если надо, могу описать подробнее.

Спустя 7 часов, 32 минуты, 42 секунды (19.06.2011 - 23:51) UninstallZX написал(а):
Лучше поподробнее описать процесс авторизации, повторюсь ООП, MVC blink.gif

Спустя 6 часов, 1 минута, 17 секунд (20.06.2011 - 05:53) bobo написал(а):
Цитата
в таблице БД.

id | login | pass .... | admin| moderator | god |
1   vasia    *****       false     true          false

Что за ересь, а если званий у нас 20 штук ? А если 50 ?

Автор, в таблицу юзеров добавляем поле `level` к примеру, в нем тупо индекс, от 0 и до ...
0 - юзер, 1 - модератор ... 10 - администратор и т.д.
Делать отдельную таблицу рангов для 2-4 позиций смысла особого нет.

По поводу собсно сабжа мне тоже интересно smile.gif Яростно мониторю тему.

Спустя 11 минут, 39 секунд (20.06.2011 - 06:04) Игорь_Vasinsky написал(а):
bobo
Слышь, это как вариант. Всё зависит от структуры таблицы.

На хоена те рангов 20-50, это чё админ, помошник админа, младший админ, старший помошник младшего админа.

Если реч уж пошла о рангах типа, гость, бывалый, здесь живёт и т.д. вообще можно сообщения считать и не над таблицы., мишень чтоли нашёл?

Спустя 2 минуты, 50 секунд (20.06.2011 - 06:07) Игорь_Vasinsky написал(а):
Цитата
Автор, в таблицу юзеров добавляем поле `level` к пр

а если он и модератор и администратор и папа римский, мне что всё через запятую писать? потом explode каждый раз напрягать?

Спустя 33 минуты, 1 секунда (20.06.2011 - 06:40) bobo написал(а):
Игорь_Vasinsky, парниша, ты чего неадекватный такой, учись адекватно воспринимать конструктивную критику.

Цитата
Всё зависит от структуры таблицы.

Да при любой структуре так, как ты предложил, делать нельзя впринципе. Нахрена в структуре таблицы нужны лишние 20 полей huh.gif

Цитата
На хоена те рангов 20-50

Да всякое бывает так то.

Цитата
а если он и модератор и администратор и папа римский, мне что всё через запятую писать?

Мда, тяжелый случай. Вообще то уровень "администратор" включает в себя функции уровня "модератор", уровень "папа римский" включает в себя функции уровней "модератор" и "администратор" и т.д.
Это у нормальных людей так smile.gif

Вообще на крайний (на самый крайний) случай, можно и через запятую уровни указать, если очень хочется, ибо лучше "понапрягать" explode, чем напрягать бд.

Спустя 1 час, 8 минут, 24 секунды (20.06.2011 - 07:49) linker написал(а):
А вот у меня самая гибкая система, нет никаких рангов, есть только права доступа на тот или иной объект и пофигу там админ или модер, есть право - получай, нет - иди лесом.

Спустя 6 минут, 3 секунды (20.06.2011 - 07:55) inpost написал(а):
linker
Под каждого пользователя множество прав?
Я сделал группы, группам назначаю права на тот или иной объект, пользователей распределяю по группам.

Спустя 36 минут, 22 секунды (20.06.2011 - 08:31) linker написал(а):
Конечно же есть группы, пользователи могут быть одновременно в разных группах, плюс у каждого пользователя могут быть свои права, дополняющие групповые или отменяющих их.

Спустя 17 минут, 21 секунда (20.06.2011 - 08:48) bobo написал(а):
Нарыл готовый скрипт, на работоспособность не проверял, пока нет на это времени, тут как то прикрепить файл к сообщению можно ?
Либо пишите в лс - скину на мыло.

Спустя 4 часа, 34 минуты, 38 секунд (20.06.2011 - 13:23) Игорь_Vasinsky написал(а):
bobo
выдохни уже.

Спустя 2 дня, 21 час, 47 минут, 2 секунды (23.06.2011 - 11:10) UninstallZX написал(а):
bobo, дай ссылку, если не сложно
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.