I've got a servlet that serves files.
It's mounted on /files/* and has a WicketSessionFilter on that same path so
it has access to the wicket session.

When a user accesses /files/?id=1 the servlet checks that the wicket session
exists, that the user is logged in and some other logic then serves the file
to the user.
When a user is not logged in, and say comes to this url from a link in an
email, I'd like the servlet to send him to the login page, then after
providing credentials I'd like to return to the original url so the file
will be served.

What is the best way to accomplish this?

So far I tried to redirect like this:
servlet:
response.redirect(contextPath + "/login?destination=files/?id=" + id)
login page after login success:
if (destination != null)   getRequestCycle().setRequestTarget(new
RedirectRequestTarget(destination));
but this failed because the request was redirected twice and it is not
allowed.

I also tried to forward the request but failed.

Any help would be appreciated!

Reply via email to