@divmod42

Как реализовать систему пользователей php/mysql?

Возникла необходимость реализации классической системы пользователей на сайте (php, mysql). Пользователь может создавать\редактировать\удалять свои записи. Соответственно, другие пользователи могут только просматривать чужие записи, администратор имеет доступ к редактированию\удалению чужих записей.
Немного просмотрел реализации. Узнал про группы пользователей, их права, проверку прав при доступе к данным и тд и тп.

Появилось несколько вопросов. Возможно кто-то сможет их прокомментировать:
  • В mysql есть реализация системы прав пользователей с гибкой настройкой доступа к данным. При регистрации пользователя на сайте, ему присваиваются данные права, т.е. используются именно эти возможности mysql?
  • Информация об авторизации фиксируется не чьей стороне? При переходах со страницы на страницу каждый раз происходит переконнект к БД, а значит теряется информация о предыдущей сессии?


До этого с подобными системами не работал. PHP только сейччас увидел, поэтому не очень понимаю принцип передачи и хранения данных между скриптами. Запросы в СУБД писать умею. Возможно что-то конкретное посоветуйте. Заранее спасибо!
  • Вопрос задан
  • 677 просмотров
Пригласить эксперта
Ответы на вопрос 1
ThunderCat
@ThunderCat Куратор тега PHP
{PHP, MySql, HTML, JS, CSS} developer
В mysql есть реализация системы прав пользователей с гибкой настройкой доступа к данным. При регистрации пользователя на сайте, ему присваиваются данные права, т.е. используются именно эти возможности mysql?
Нет, это пользователи чисто бд, для этого в веб приложениях они не используются.
Информация об авторизации фиксируется не чьей стороне? При переходах со страницы на страницу каждый раз происходит переконнект к БД, а значит теряется информация о предыдущей сессии?

Не надо путать авторизацию пользователя на сайте и авторизацию скрипта при доступе к бд. Скрипт имеет единые настройки для подключения к бд, а пользователь взаимодействует со скриптом через вебсервер, напрямую к бд пользователь никак не может обратиться. При авторизации цепочка действий примерно следующая:
- вводим данные авторизации(браузер) и отправляем на сервер
- сервер принимает данные, создает соединение к бд, и проверяет запросом правильные ли данные ввел пользователь.
- Если все ок, создается запись в сессии(читайте про механизм сессий в пхп), и в дальнейшем проверяется при каждом запросе к серверу, есть ли соответствующий ключ в сессии. Если есть - значит пользователь авторизирован.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы