Skip to content

Добавить простую авторизацию пользователей #5

Description

@glorden

Цель

Заменить временный выбор пользователя через LocalStorage на простую систему авторизации.

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

План

Этап 1. Пользователи

  • добавить каждому пользователю уникальный логин;
  • хранить пароль в виде хеша (bcrypt или аналогичный алгоритм);
  • создать администратора, который сможет создавать пользователей вручную.

Этап 2. Вход

  • реализовать страницу входа;
  • после успешной проверки логина и пароля создавать пользовательскую сессию;
  • сохранять идентификатор пользователя в безопасной cookie.

Этап 3. Защита маршрутов

Закрыть авторизацией страницы:

  • Dashboard;
  • История заказов;
  • Создание заказа;
  • Ответ на предложение;
  • Завершение заказа.

Неавторизованный пользователь должен перенаправляться на страницу входа.

Этап 4. Определение текущего пользователя

После авторизации приложение должно получать текущего пользователя из сессии.

Во всех действиях использовать именно авторизованного пользователя, а не передавать user_id из браузера.

Этап 5. Администрирование

В дальнейшем предусмотреть возможность:

  • создавать новых пользователей;
  • менять пароль;
  • отключать пользователя без удаления его истории.

Не входит в задачу

На данном этапе не требуется:

  • регистрация пользователей;
  • восстановление пароля;
  • OAuth (Google, GitHub и т.д.);
  • JWT;
  • двухфакторная аутентификация;
  • управление ролями.

Цель — получить простую, надежную и понятную систему авторизации для закрытого внутреннего сервиса.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions