Re: Catalyst, redirect и https
Dmitrii
q7u5 at ukr.net
Fri Nov 11 12:41:27 PST 2011
можно сделать альтернативный вариант:
отправить ajax запрос на javascript, получить результат и сделать редирект на javascript'е
--- Исходное сообщение ---
От кого: "Serg Gulko" <s.gulko at gmail.com>
Кому: "Kiev Perl Users Group" <kiev-perl-users-group at googlegroups.com>
Дата: 11 ноября 2011, 20:54:50
Тема: Catalyst, redirect и https
> Есть приложение на Catalyst, запущено под FastCGI, в качестве front-
> end-а используется nginx.
> При использовании $c->response->redirect($c->uri_for("/cool_place"));
> backend всегда делает редикерк по http, в то время как на nginx-е у
> нас поднят SSL.
> Особенно неприятно это проявляется при операциях типа Logout, когда
> пользователь явно был в защищенной зоне, послал запрос типа /logout,
> который имел такой вот вид:
>
> $c->log->info('Logout');
> $c->logout;
>
> $c->response->redirect($c->uri_for("/"));
>
> и видит чуденсую ошибку.
>
> Сейчас я решил этот вопрос явным указанием того, что схема у нас
> https:
>
> $c->log->info('Logout');
> $c->logout;
>
> my $uri = $c->req->base();
> $uri->scheme("https");
> $c->req->base($uri);
>
> $c->response->redirect($c->uri_for("/"));
>
> Но вот что-то мне подсказывает, что такой суровый хардкод не очень
> красив. По странным причинам Catalyst::Plugin::RequireSSL тоже не
> сильно помог.
> Кто сталкивался с такой проблемой и знает как решить ее малой кровью?
More information about the Kiev-pm
mailing list