У меня есть банки Контроллервопрос безопасности с контроллером
class Api::V1::BanksController < ApplicationController
before_action :authenticate_user!
respond_to :json
# PUT /api/v1/banks/:id.json
def update
@bank = UserBank.find_by!(uuid: params[:id])
if @bank.update_attributes bank_params
render json: @bank
else
render json: @bank.errors, status: :unprocessable_entity
end
end
private
def bank_params
params.require(:bank).permit(:iban, :bic)
end
end
Я использую разработать для аутентификации. Моя проблема связана с тем, что любые пользователи могут обновлять банковский объект другого пользователя, просто получая токен доступа из ответа на вход.
Есть ли чистый/безопасный/автоматический способ предотвращения взаимодействия пользователя с чужими деталями? или я должен просто убедиться, что объект банка, который я обновляю, принадлежит зарегистрированному пользователю?
большое спасибо
Если у вас есть отношения для пользователя и user_bank, то вы можете использовать current_user.user_banks.find() – Zero