Hi Simon, The login page does show up at /foo/bar . But the form submits to /login/index At which point the original url is lost. I'm using quickform here too.
I'm not really redirecting to display the login page I don't think. In preDispatch all I do is override what controller (login) and action (index) to run. So I am getting to the login action whilst at /foo/bar . The problem is in the form submission submitting to /login/index . I need it to submit to that url and then redirect back to /foo/bar/whatever/values I suppose in the login action I could get the url (how do you do this?) and pass that around with flashmessenger or in a hidden field in the login form. Cheers On 7/10/07, Simon Mundy <[EMAIL PROTECTED]> wrote:
Hi Dylan Is there a reason you need to redirect rather than forward? If you had your preDispatch perform a _forward instead of a complete redirect then you could perform the login at the address /foo/bar instead of /login/index and there'd be no need to capture and re-assemble that url. Alternatively you could use the FlashMessenger action helper to store such a URL and retrieve it after a successful login or re-set it every unsuccessful login to ensure it persists. Hi all When a user accesses a restricted page on my site and they have no identity a plugin in preDispatch sets the controller to login and action to index to render the page /login/index This works fine. However I want to redirect to the url they were initially trying to access after they login. I was thinking of doing something like this in the plugin. $request->setParam('redirectController', $request->getControllerName()); $request->setParam('redirectAction', $request->getActionName()); And then passing the data to a hidden field in my login form such as redirectUrl. This gets complicated though. If I want to pass any keys/values. I could do something like this. $request->setParam('redirectParams', $request->getParams()); But this won't work for everything as I am using custom routes that fuddle up getParams(). Ie one of my routes overrides the /controller/action/key/value/key/value scheme to /controller/action/value1/value2/value3 and stores the values as an array in its own param. So really I can't simply just iterate through getParams to build my redirect url. I kind of want to access the requestUrl or pathInfo which I noticed is protected in the request object. Then I can simply use this to redirect after a login. Is this possible and what is the difference between the two? Does anybody have any ideas? Is there an alternate approach? Hope this makes sense. Thanks -- Simon Mundy | Director | PEPTOLAB """ " "" """""" "" "" """"""" " "" """"" " """"" " """""" "" " 202/258 Flinders Lane | Melbourne | Victoria | Australia | 3000 Voice +61 (0) 3 9654 4324 | Mobile 0438 046 061 | Fax +61 (0) 3 9654 4124 http://www.peptolab.com