Перенаправление после входа в систему, сохраняя мой пост - PullRequest
0 голосов
/ 24 февраля 2012

У меня есть 2 приложения.MyApp и MainApp.MyApp «контролируется» MainApp.MyApp сделан с Zend.

MainApp делает различные запросы к MyApp.Например, MyApp / index / create, / copy, / delete и т. Д. MainApp необходимо выполнить вход в MyApp, чтобы выполнять эти запросы.

Если MainApp (или фактически пользователь, использующий MainApp) не является 'При входе в MyApp он будет автоматически входить в фоновом режиме, не замечая этого.Из-за этого каждый запрос от MainApp к MyApp будет включать учетные данные в качестве переменных записи.

Итак, небольшой пример:

MainApp не вошел в MyApp:

Запрос: 1. MainApp -> MyApp / index / create 2. Плагин MyApp: он вошел в систему?... Нет, перенаправить на MyApp / index / login 3. MyApp / login / index, авторизация прошла успешно, перенаправить на MyApp / index / create

В принципе это не так сложно.Есть две проблемы, о которых нужно заботиться: Знание местоположения источника из последнего запроса и сообщений post.

Проблема 1 - Последний запрос: Может быть записан в Zend Registry или передан как параметры GET при перенаправлении.Проблема 2 - Передача учетных данных для действия входа в систему: Могу ли я добавить их как параметры получения тоже?Могу ли я как-то сделать переадресацию сообщения?Может быть, я могу сохранить запрос obj и передать его действию входа в систему, чтобы отозвать его?Может быть, я тоже должен написать сообщение в реестр?

Atm, логин небезопасен, еще не добавил.Есть ли что-то, что мне нужно позаботиться о безопасности?

Спасибо $ _redirect ();

1 Ответ

0 голосов
/ 24 февраля 2012

Первоначальная проблема до сих пор неясна для меня в деталях, поэтому я коснусь ваших проблем 1 и 2. Ясно.

Задача 1.

Последний запрос может быть сохранен с помощью SESSION, с ZF вы можете сделать это легко, например, так:

$ns = new Zend_Session_Namespace("main_app_data_for_my_app");
$ns->lastRequest = $request->getServer("REQUEST_URI");
//now redirect to login
//after login create `$ns` and read the `lastRequest` property
//(and preferably unset it afterwards)

Задача 2.

Вы не можете делать регулярное перенаправление с данными POST, поэтому я бы сказал - взгляните на решение проблемы 1, а именно SESSION. Конечно, это означает, что вам придется уведомлять действие входа о существовании переменных SESSION, но поскольку я не знаю подробностей реализации, я не могу сказать, хорошо это или плохо.

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