Asp.net 是否有一种优雅的方式将Default.aspx重定向到Home.aspx或Login.aspx?

Asp.net 是否有一种优雅的方式将Default.aspx重定向到Home.aspx或Login.aspx?,asp.net,Asp.net,按照我现在的方式,Default.aspx是空的,并且在Default.aspx.cs后面有一个代码,根据请求是否经过身份验证,该代码会将它们重定向到Login.aspx或Home.aspx Default.aspx只是在那里无所事事。似乎应该有一个更优雅的方法来解决这个问题 任何想法都会很棒 否,IIS需要该占位符才能知道它是作为默认文档存在的 编辑:虽然技术上可以改变这些,但从长远来看并不值得。最好遵循约定,将home.aspx移动到default.aspx。这应该是在IIS级别配置的;也就

按照我现在的方式,Default.aspx是空的,并且在Default.aspx.cs后面有一个代码,根据请求是否经过身份验证,该代码会将它们重定向到Login.aspx或Home.aspx

Default.aspx只是在那里无所事事。似乎应该有一个更优雅的方法来解决这个问题


任何想法都会很棒

否,IIS需要该占位符才能知道它是作为默认文档存在的


编辑:虽然技术上可以改变这些,但从长远来看并不值得。最好遵循约定,将home.aspx移动到default.aspx。

这应该是在IIS级别配置的;也就是说,您可以将应用程序的
默认登录页配置为
Home.aspx
。如果用户未登录,
Home.aspx
应自动重定向到
Login.aspx
。请参见以下IIS管理器的屏幕截图:


从列表中选择您的web应用程序-->双击“默认文档”。

在我看来,最优雅的方法是使用web.config。您可以在此处指定未经身份验证的用户将自动重定向到的登录页面:

<authentication mode="Forms">
  <forms loginUrl="~/Login/LogOn.aspx" />
</authentication>
<authorization>
  <deny users="?"/>
</authorization>


除此之外,您还可以通过授权标签指定授予哪些用户访问当前文件夹中页面的权限。

您是否尝试将Home.aspx重命名为Default.aspx,并拒绝访问web.config中的Default.aspx,并让formsauthentication基础设施执行重定向?