7

iis 設定のデフォルト ドキュメントに問題があります。私のサイト (http://mysite) では、デフォルトのドキュメントをログイン ページとして提供しています。ユーザーが URL (http://mysite) を入力すると、ユーザーはログイン ページにリダイレクトされますが、完全な URL (http://mysite/login.aspx) は表示されません。デフォルトのドキュメントは、response.redirect ではなく server.transfer を行うようです。そのため、ユーザーが資格情報を入力してからサインインをクリックすると、再びログインにリダイレクトされ、そこから正常に動作します。そのため、ユーザーは資格情報を 2 回入力する必要があります。

私のアプリは .NET 3.5 で開発されています。

response.redirect を達成する方法はありますか。

4

3 に答える 3

3

基本ディレクトリのデフォルト ドキュメントとして index.html を使用します。この index.html で、メタ リフレッシュまたは JavaScript リダイレクトを login.aspx ページに使用します。次のメタ リフレッシュ コードの例を参照してください。

あなたのプロジェクト

website 
   index.html
   secure/login.aspx

index.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 に答える