2012-03-21 6 views
11

W mojej aplikacji internetowej wszystkie strony .aspx znajdują się w katalogu Pages. Struktura projektu przedstawiono poniżej:Wyłącz listing katalogu w IIS

enter image description here

Home.aspx jest ustawiony jako Start Page i plik Web.config folderu Pages zawiera:

<configuration> 
<location path="Secured"> 
    <system.web> 
    <authorization>  
     <deny users="?"/> 
     <allow users="*"/> 
    </authorization> 
    </system.web> 
</location> 
</configuration> 

i głównego Web.config posiada:

<authentication mode="Forms"> 
    <forms loginUrl="~/Pages/Login.aspx" timeout="2880" defaultUrl="~/Pages/Secured/Home.aspx" /> 
</authentication> 

Więc kiedy aplikacja uruchamia przekierowuje do strony logowania z adresem URL:

http://localhost:2453/Pages/Login.aspx?ReturnUrl=%2fPages%2fSecured%2fHome.aspx

Teraz jeśli usunę

Login.aspx? ReturnURL =% 2fPages% 2fSecured% 2fHome.aspx

z tego adresu URL i naciśnij enter to zabranie mnie do wykazu katalogowego:

enter image description here

Co chcę, że będzie ponownie wysłać mnie do strony logowania znajduje się w

http://localhost:2453/Pages/Login.aspx

W jaki sposób można to osiągnąć? Twoja pomoc będzie doceniona.

Dzięki.

localhost: enter image description here

Odpowiedz

17

trzeba wyłączyć przeglądanie katalogów z IIS lub web.config

<configuration> 
    <location path="Secured"> 
    <system.webServer> 
     <directoryBrowse enabled="false" /> 
    </system.webServer> 
    </location> 
</configuration> 

powyżej Pozycję tę stosuje się do IIS 7+ dla IIS 6 będziesz mieć aby to zrobić z Menedżera usług IIS

+0

Dzięki za odpowiedź. Jeśli przejdę do localhost, jak na powyższym obrazie, to pokazuje IIS7. Ale w Start-> Panel sterowania-> Narzędzia administracyjne widzę, że jest dwóch Menedżerów Internetowych usług informacyjnych. Jedną z nich są Menedżerowie Internetowych usług informacyjnych (IIS) 6.0 i inni Menedżerowie usług internetowych (IIS). Nie jestem w stanie zrozumieć, czy działa w IIS7. Również uruchamiam aplikację z Visual Studio. Próbowałem twój kod zarówno w głównej Web.config i Web.config z Pages. Ale żaden z nich nie działa. Jak mogę go wyłączyć z Menedżera IIS6? –

+0

@Tapas Bose obecnie twoja aplikacja działa na serwerze programistycznym Asp.net (Cassini). Być może trzeba będzie skonfigurować go tak, aby działał w IIS, przechodząc do karty właściwości projektu> WWW i ustawiając ją na IIS i tworząc katalog wirtualny – scartag

+1

Dodałem kod do głównego pliku Web.config i zmieniono właściwości, aby używać serwera Local IIS i teraz otrzymuję błąd HTTP 403.14 - Zakazany komunikat o błędzie, gdy próbuję przeglądać http: //localhost/EMSApplication.Web/Pages/. Pomoże to w ochronie witryny. Ale czy nie ma możliwości ponownego przekierowania na stronie logowania? Dzięki za pomoc. –