Неисправность, показывающая модал https со страницы http - PullRequest
0 голосов
/ 16 сентября 2018

У меня есть приложение Rails 3.2.21, которое требует, чтобы пользователь вошел в систему, чтобы выполнить несколько действий (например, подписаться на другого пользователя).

Проблема в том, что я переключил ТОЛЬКО страницы входа и регистрации на https ; остальная часть приложения по-прежнему http (с использованием rack-ssl -forcer gem для 301 перенаправления с http -> https только на эти две страницы, если это имеет значение). Когда открывается модал через Ajax, чтобы показать логин или регистрацию, это не работает. В журналах Rails написано:

WARNING: Can't verify CSRF token authenticity

А в Chrome консоль говорит:

Failed to load https://mydomain/signup: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://mydomain' is therefore not allowed access.

Код выглядит следующим образом. При нажатии на ссылку, чтобы перейти к пользователю, запускается следующий код jQuery:

$.ajax({ type: "GET", url: "/follow/" + $(this).data("follow-id") })

FollowsController имеет before_filter :login_required, а метод login_required в ApplicationController выглядит следующим образом:

def login_required redirect_to "/signup" and return end

Если на странице входа и регистрации нет https, все работает как обычно. Когда я переключил их на https, эта проблема закралась.

EDIT:

Уже пробовал решение, выложенное здесь , безрезультатно.

1 Ответ

0 голосов
/ 20 сентября 2018

самоцвет в стойку на помощь. Это добилось цели.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...