Re: Changing browser URL based on condition
Brad Van Sickle <[email protected]>
| Newsgroups | gmane.comp.apache.mod-perl |
|---|---|
| Message-ID | <[email protected]> |
Agree with the consensus. The URI should be descriptive of the function, so any requests to /login should be from users who are attempting to... login. The home page should be housed under a separate URL (/home for example) After the user has authenticated, the login module should redirect to the /home URI. Any links to the home page from within the application should likewise refer to /home. You should have security in place to redirect any unauthenticated users to /login before requests for /home (or any other part of your application) are processed. If you for some reason simply MUST keep referring people to /login when they are expecting to see the home page, put code in your login module to check for authenticated users and redirect them to /home before displaying the login page. If the user doesn't have a session, then go ahead and display the login form. On 11-07-11 03:14 PM, Jerry Pereira wrote: > Hi Edward, > I have the following design: > A single PerlResponseHandler for all requests. This handler based on > the path decides the action to be taken > For example, if the user submits to www.example.com/login > <http://www.example.com/login>, then the handler delegates the request > to authentication module, which will then either display the home page > (throug home page template) or login page again, based on the > success/failure of authentication mechanism. Since i am rendering the > page via template, i am able to generate the content of home page > which i then send back to the client, but the URL on the browser > remails the same (i.e. www.example.com/login > <http://www.example.com/login>), which is not true. Any suggestions to > handle this scenario will be great. > Thanks, > Jerry > > On Mon, Jul 11, 2011 at 12:03 PM, Szekeres, Edward > <[email protected] > <mailto:[email protected]>> wrote: > > If you are looking to do this for “cosmetic reasons”, I do this be > simply using frame sets and doing redirects in the child frame. > The URL displayed in the location bar will always be constant for > the parent frame. I don’t think there is any way to do this at > the core level or it would be a spoofers windfall. The browser > will always have the actual location in the info panel. > > *From:*Jerry Pereira [mailto:[email protected] > <mailto:[email protected]>] > *Sent:* Monday, July 11, 2011 2:48 PM > *To:* [email protected] <mailto:[email protected]> > *Subject:* Changing browser URL based on condition > > Hi All, > > I would like to know if there is a way to change the URL displayed on > browser without using Redirect option. The URL visible on client > browser > must be based on some condition that is evaluated in my mod_perl > handler. > > For example - > > 1. User types the URL - www.example.com <http://www.example.com/>, > this will display the login page. > 2. Once the user enters the credentials and hits submit, the > request is > posted to www.example.com/login <http://www.example.com/login> action. > 3. If the credentials entered by the user is valid then i would > like to show > the home page..uri > 4. I am able to show the homw page, but the URL does not change to > www.example.com/home <http://www.example.com/home>, instead it > remains the same (i.e. > www.example.com/login <http://www.example.com/login>). I am using > Template toolkit to render my pages. I > tried $req->url('/home'), but that does not change the browser URI. > > Any help will be appreciated. > > > Thanks, > Jerry > > > > > -- > Your clothes may be the latest in style but you aint completely > dressed until you wear a smile! > Keep smiling : )