2

刚开始在asp.net。刚刚在我的站点中创建了一个 login.aspx 页面并停留在一个 asp 登录控件上——这就是我所做的一切。现在,当我调试时,我的 Welcome.aspx 页面不会显示为我网站的起始页面 - 即使它设置为这样。另外,我什至编辑了我的 web.config - (见下文) - 它仍然做同样的事情。如何使其正常工作,以便我的 Welcome.aspx 页面默认启动?

<authentication mode="Forms">
      <forms defaultUrl="~/Welcome.aspx" loginUrl="~/login.aspx" timeout="1440" ></forms>
</authentication>
4

5 回答 5

3

那是因为您正在使用未经身份验证的用户访问该站点 - 因此框架会将您重定向到 loginurl。

于 2008-10-09T18:30:28.880 回答
3

如果您希望用户无需经过身份验证即可访问welcome.aspx,请将welcome.aspx 放在一个单独的文件夹中,并在该子文件夹中设置一个新的web.config。填写该 web.config 中的授权部分,以便匿名用户可以访问该文件夹和子文件夹中的文件,如下所示:

<authorization><allow users="?" /></authorization>
于 2008-10-09T18:39:04.853 回答
2

您的问题有两个潜在原因。

1.) 用户未通过身份验证,因此他们必须先登录。如果是这种情况,用户将被带到 login.aspx,并且将存在一个 returnurl 参数,在登录后将其返回到欢迎页面。

2.) 当您单击“调试”启动 Visual Studio 时,您正在查看 login.aspx 页面,如果它是一个 aspx 页面,这通常会启动当前可见的页面。

如果您不希望用户登录作为查看welcome.aspx 页面的要求,要绕过第1 项,您可以在web.config 中修改您的身份验证设置。

于 2008-10-09T18:39:24.150 回答
1

您已经在 web.config 中设置了登录 URL。你会被发送到welcome.aspx,但是这表明你没有登录——所以它会让你重新登录。如果您的登录页面有一个“记住我”复选框,请尝试将其选中并登录——后续运行应该让您直接进入welcome.aspx

于 2008-10-09T18:30:34.463 回答
0

好吧,如果用户未通过身份验证,他们将自动被重定向到“loginUrl”——一旦您登录,您应该被重定向到 Welcome.aspx,只要凭据有效,它将是默认页面。

于 2008-10-09T18:30:54.760 回答