Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 341
  • Last Modified:

Showing different pages with the same url

How can I show a different webpage for different users on the same URL?

e.g.
A user that is logged in will see different contents from a user that is not logged in. And no, I don't want to redirect users that are not logged in to a log-in page. I also don't want to just hide/show a few controls since that contents could be completely different.
0
Thomasian
Asked:
Thomasian
  • 3
  • 2
  • 2
2 Solutions
 
n2fcCommented:
When a user logs in, set a cookie with a short expiry time...

Then you can query the cookie & display content based upon their login status...

Of course, this will require that your users permit cookies!
0
 
ThomasianAuthor Commented:
>>display content based upon their login status.

This is the question. How do I change/select the page to display with the same URL?

e.g.
If a user is logged in, show index1.aspx
If a user is not logged in show index2.aspx.

I have no problem checking the log in status of the user. What I want to know is how to show a different page using the same url.

Note: I do NOT want to redirect the user to a different address.
0
 
n2fcCommented:
Following reference shows how to set & test cookies as well as conditional code:

http://www.quirksmode.org/js/cookies.html

Look for the section named readCookie...
where it says:
var x = readCookie('ppkcookie1')
if (x) {
	[do something with x]
}

Open in new window

replace "do something with x" (you can have one page's code)
and add an "else" clause for the opposite condition...
0
NEW Veeam Agent for Microsoft Windows

Backup and recover physical and cloud-based servers and workstations, as well as endpoint devices that belong to remote users. Avoid downtime and data loss quickly and easily for Windows-based physical or public cloud-based workloads!

 
ThomasianAuthor Commented:
>>replace "do something with x" (you can have one page's code)

My question is about the "do something" after the If statement.

Sorry if my question was not clear, so let me rephrase the question:

Let's say I want to show a different page on my homepage depending on the time of the day.

If time is between 0:00 to 11:59, show "AMPage.aspx" on my homepage. If time is between 12:00 to 23:59, show "PMPage.aspx" on my homepage.

Note: I do not want to redirect it to a different address.
0
 
jiangshengCommented:
>I do not want to redirect it to a different address.
use Server.Transfer instead of Server.Redirect
Hard for debugging though, you now get multiple pages on the same url.
0
 
ThomasianAuthor Commented:
Is this how it is usually done? I think that it is a common situation to show a different site for guest and logged-in users.

e.g. experts-exchange.com

Also, is it possible to deny access to some pages by directly typing in the URL? i.e. I don't want to allow access to AMPage.aspx by directly typing in "http://mysite.com/AMPage.aspx"
0
 
jiangshengCommented:
No, this is not the way it is usually done. The usually way is to use the LoginView control or check HttpContext.User.Identity.IsAuthenticated in the MVC controller to have the same page displaying different views. See How to: Display Different Information to Anonymous and Logged-in Users
0

Featured Post

[Webinar On Demand] Database Backup and Recovery

Does your company store data on premises, off site, in the cloud, or a combination of these? If you answered “yes”, you need a data backup recovery plan that fits each and every platform. Watch now as as Percona teaches us how to build agile data backup recovery plan.

  • 3
  • 2
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now