Как защитить контроллер в расширении Spree, чтобы только администратор магазина мог получить к нему доступ?

Я пытаюсь разработать ценовое предложение для Spree, позволяющее клиентам загружать файлы в AWS S3.

Я хотел бы "обезопасить" с помощью аутентификации некоторые из своих действий, и Spree предоставляет полезные помощники для этой цели, однако мне не удалось заставить его работать. Насколько я понял, я должен добавить эту строку в QuotesController. include Spree::Core::ControllerHelpers::Authв моем контроллере, как показано в этой сущности

К сожалению, я все еще получаю неопределенную ошибку метода authenticate_user!

Ради сохранения этой темы СУХОЙ, вы можете найти больше на мой вопрос по проблеме репозитория Spree #5794

Любой вклад очень приветствуется. Спасибо.

1 ответ

Решение

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

Большое спасибо @Hates_ и всем людям в IRC Spree за их ответы!

Первое неверное предположение касалось конструкции контроллера QuotesController, который должен быть разделен на две части: одна для покупателей, другая для бэкенда администратора магазина. Второе неверное предположение заключалось в том, что include Spree::Core::ControllerHelpers::Auth не собирался дать мне защиту, которую я хотел. Итак, вот что я закончил:

Сторона администратора

В Spree, чтобы ваш контроллер пользовался "защитой" администратора магазина, этот контроллер должен наследовать так Spree::Admin::QuotesController < Spree::Admin::BaseController, Этот контроллер будет жить в app/controllers/spree/admin/quotes_controller.rb, Это все, что вам нужно, чтобы "защитить" его. Кроме того, это сделает ваши взгляды хорошо интегрированными в бэкэнд магазина.

Сторона клиента

По замыслу лучше создать другой контроллер QuotesController, использующий другое пространство имен. app/controllers/spree/quotes_controller.rb и наследовать так:

Spree::QuotesController < Spree:Core::BaseController

Другие вопросы по тегам