I have a loosely coupled web app (one part uses PHP, the other uses WGSI). The WSGI/python framework shares the authentication with the PHP app, meaning that generally, the user should
- Log in via the PHP interface
- Now the user can access any of the WSGI pages [this part works if the user has logged in]
What I want to do though, is if a user tries to access a WSGI page while not logged in (maybe from a previous bookmark), I would like to redirect him to the login page, and after logging in redirect him back to the orignal URL.
I'm not very experienced with server-side programming, so here are my qu开发者_StackOverflow社区estions.
How should I redirect the user back to the PHP login page? What should the HTTP status code be? Do I need to set any extra header information?
What is a good way/best practice method to pass the original URL to the login page, and then after logging have it redirect the user back.
Thank you!
If the user isn't logged in, you could set the status code to 401 Unauthorized
and redirect with location: /login.php?dest=/admin/only.php
.
This would look like:
header("HTTP/1.0 404 Not Found");
header("Location: /login.php?dest=" . $_SERVER['PHP_SELF']);
in php.
精彩评论