Я занимаюсь разработкой API с использованием Rails 3. Я сделал свою собственную логику аутентификации и использую before_filter под названием authenticate_user!проверить, зарегистрирован ли пользователь.
В этой функции я проверяю, активен ли текущий сеанс пользователя.Если есть, я ничего не делаю, но если нет активного сеанса, я хочу остановить использование остальных функций / ресурсов, а затем вернуть вызывающему приложению ошибку, что пользователь не вошел в систему.
Мои вопросы:
Как я могу "остановить" запрос в моей функции аутентификации, если нет текущего сеанса.Я не хочу перенаправлять пользователя, только отображать сообщение об ошибке.
Как отобразить сообщение об ошибке, которое будет отправлено обратно вызывающему приложению?Было бы лучше, если бы я мог «ответить» в JSON (и XML, если это возможно).
Это мой текущий код.
def authenticate_user!
unless current_user
if params[:token]
user = User.authenticate_token(params[:token])
if user
session[:user_id] = user.id
else
SEND BACK SOMETHING HERE AND STOP THE PROCESS?
end
end
end
end
Благодарен за все вводимые данные!