两个页面使用相同的URL,具体取决于登录状态

时间:2010-11-13 22:23:00

标签: asp.net routing

我想要完成的是:当用户访问www.mysite.com时,根据他是否登录,他会看到登录页面或他的主页。我不想重定向到其他页面,我希望网址在两种情况下都显示为www.mysite.com。有点像你去facebook.com时,它会显示你的登录页面或你的墙,都有相同的网址。

有什么想法吗?

1 个答案:

答案 0 :(得分:3)

如果您使用的是ASP.NET WebForms(您没有说),那么您可以在主页中使用Server.Transfer来呈现“登录”页面,如果您检测到用户未登录。

如果您使用的是ASP.NET MVC,那么您的主页控制器可以检查您是否已登录并呈现“登录”视图,而不是默认视图。

否则,如果要使用ASP.NET路由,可以使用custom route contraint来完成。所以你有两个匹配“/”的路由,但是有一个自定义约束来检查用户是否登录。

相关问题