7

我对 iis 设置的默认文档有疑问。在我的站点 (http://mysite) 中,我提供了默认文档作为登录页面。当用户键入 url (http://mysite) 时,它会将用户重定向到登录页面,但不显示完整的 url (http://mysite/login.aspx)。看起来默认文档执行 server.transfer 而不是 response.redirect。因此,当用户输入他们的凭据然后单击登录时,它会再次将他们重定向到登录并从那里正常工作。所以用户必须输入他们的凭据两次。

我的应用程序是在 .NET 3.5 上开发的。

有没有办法可以实现response.redirect。

4

3 回答 3

3

使用 index.html 作为基本目录中的默认文档。在此 index.html 中,使用元刷新或 javascript 重定向到您的 login.aspx 页面。请参阅以下示例元刷新代码。

你的项目

website 
   index.html
   secure/login.aspx

索引.html

<!DOCTYPE html>
<html>
<head>
<title>YOUR PROJECT NAME</title>
    <meta http-equiv="refresh" content="0;URL='http://www.YOURDOMAIN:COM/secure/login.aspx'" />    
</head>

<body>
    <p> Click to   
        <a href="http://www.YOURDOMAIN:COM/secure/login.aspx">Login</a>
   </p> 

</body>

</html>
于 2013-01-22T00:29:45.613 回答
2

在与默认文档相同的文件夹中,放置名为 web.Config(无 .txt、.xml 或任何其他扩展名)的文本文件,其内容如下:

<?xml version="1.0"?>
<configuration>
    <system.webServer>
        <rewrite>
            <rules>
                <rule name="Redirect to login" stopProcessing="true"> 
                    <match url=".*" />
                    <conditions>
                         <add input="{URL}" pattern="^/$" />
                    </conditions>
                    <action type="Redirect" url="/login.aspx" redirectType="Permanent" />
                </rule>
            </rules>
        </rewrite>
    </system.webServer>
</configuration>
于 2013-01-20T17:03:43.003 回答
0

在登录页面的 Page_Init 中写入以下行。

Protected Sub Page_Init(sender As Object, e As System.EventArgs) Handles Me.Init
    If Not MyBase.IsPostBack Then
        If HttpContext.Current.Request.Url.ToString.Contains("Login") = False Then
            Response.Redirect("~/Login.aspx")
        End If
End Sub
于 2013-12-02T10:23:57.473 回答