2013-01-14 21 views
7

Mam problem z domyślnym dokumentem ustawienia iis. W mojej witrynie (http: // mysite) podałem dokument domyślny jako stronę logowania. Gdy użytkownik wpisze adres URL (http: // mysite), przekieruje użytkownika do strony logowania, ale nie wyświetli pełnego adresu URL (http: //mysite/login.aspx). Wygląda na to, że dokumentem domyślnym jest server.transfer, a nie response.redirect. Z tego powodu, gdy użytkownik wprowadzi swoje poświadczenia, a następnie kliknie przycisk logowania, ponownie przekieruje je do logowania, a stamtąd działa poprawnie. Zatem użytkownik musi wprowadzić swoje poświadczenia dwa razy.domyślny dokument nie wyświetla pełnego adresu URL

Moja aplikacja została opracowana na platformie .NET 3.5.

Czy istnieje sposób, że mogę osiągnąć response.redirect.

Odpowiedz

1

W tym samym folderze co plik domyślny dokument tekstowy o nazwie web.config miejsce (bez .txt, .xml lub innego rozszerzenia) z następującym dokładnym treści:

<?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> 
+0

Cześć, masz na myśli, że powinienem umieścić kolejny plik web.config w folderze, w którym siedzi moja strona logowania ?. moja strona logowania znajduje się w innym folderze. nie jest bezpośrednio pod folderem głównym. – Punit

+0

inny? W jednym folderze jedna nazwa pliku może być użyta tylko raz. Jeśli masz już plik web.config w tym folderze, musisz scalić się z tym kodem XML. –

3

Użyj index.html jako domyślny dokumentu w twoim katalogu bazowym. W tym index.html użyj meta refresh lub javascript przekierowuj do strony login.aspx. Zobacz następujący przykład meta odświeżania kodu.

projekt

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> 
0

Zapis następujące linie w Page_Init swojej strony logowania.

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 
Powiązane problemy