登录后重定向保存我的帖子变量

时间:2012-02-24 09:58:12

标签: zend-framework redirect

我有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的/索引/创建 2. MyApp插件:他是否已登录? ...不,重定向到MyApp / index / login 3. MyApp / login / index,登录成功,重定向到MyApp / index / create

这基本上没那么复杂。需要关注的问题有两个:了解上次请求和后期变量的原点位置。

问题1 - 上次请求:可以写入Zend Registry或在重定向时作为GET参数传递。 问题2 - 将凭据传递给登录操作:我可以将它们添加为获取参数吗?我可以以某种方式进行帖子重定向吗?也许我可以保存请求obj并将其传递给登录操作,以便回忆起来?也许我应该将帖子的内容写入注册表中?

Atm,登录不安全,还没有添加。在确保安全时,我需要注意什么?

由于 $ _redirect();

1 个答案:

答案 0 :(得分:0)

原始问题对我来说仍然不清楚,因此我将明确地与您的问题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变量的存在,但因为我不知道实现细节,我不知道它是好还是坏。