我已經實現了標準的登錄控制,一切正常。ASP.NET登錄控制劫持我的404
但是,當我輸入一個無效的URL時,它會被重定向到登錄頁面。
例如
mywebsite.com/xxx正確地給出了404
但
mywebsite.com/xxx.aspx導致重定向到登錄頁面
我使用ASP.NET 3.5在Windows Server 2008年
我已經設置了web.config中有以下
也
<httpErrors existingResponse="Replace">
<remove statusCode="403" />
<remove statusCode="404" />
<remove statusCode="500" />
<error statusCode="403" path="/xyz/NoAccess.htm" responseMode="Redirect" />
<error statusCode="404" path="/xyz/FileNotFound.htm" responseMode="Redirect" />
<error statusCode="500" path="/xyz/FileNotFound.htm" responseMode="Redirect" />
</httpErrors>
認證是通過web表單
<authentication mode="Forms">
<forms loginUrl="Login.aspx" defaultUrl="~/External/SomeView.aspx"></forms>
</authentication>
<authorization>
<deny users="?"/>
</authorization>
如此看來登錄頁面被劫持我的404 如何使http://www.mywebsite.com/xxx.aspx返回404,而不是重定向到的登錄頁面?
要清楚我不認爲這是授權問題,即403問題。 我已經在指定的/ xyz目錄中有一個單獨的web.config。事實上,我可以通過訪問mywebsite.com/xyz/FileNotFound.htm而無需登錄即可看到FileNotFound.htm。 但是,如果我輸入類似於mywebsite.com/SomeNonExistantPage.aspx的內容,瀏覽器將使用以下URL重定向到登錄頁面mywebsite.com/Login.aspx?ReturnUrl=%2fSomeNonExistantPage.aspx 如果我然後登錄,它只會重定向到404頁面。 –
BigPoo
2010-08-31 12:31:43