2011-05-11 37 views
0

我的應用程序顯示出奇怪的行爲。每當我按下頁面上的提交按鈕來保存它,就會自動重定向到/login.aspx。用戶已登錄並且代碼不會重定向到login.aspx。我搜索了所有的解決方案文件,但我從來沒有發現文本「login.aspx」,數據庫也不包含「login.aspx」。我想知道系統如何重定向到這個頁面。此頁面在我的應用程序中不存在。 請注意,此問題僅在現場。 以下是錯誤:提交時自動重定向到login.aspx

Server Error in '/' Application. 

無法找到該資源。

說明:HTTP 404.您正在查找的資源(或其某個依賴項)可能已被刪除,名稱已更改或暫時不可用。請檢查以下網址並確保它拼寫正確。

請求的URL:/login.aspx

版本信息:Microsoft .NET Framework版本:2.0.50727.4211; ASP.NET版本:2.0.50727.4209

回答

2

錯誤是由於對文件夾的寫入權限。

+0

什麼文件夾?... – ekeith

1

聽起來好像您在web.config中使用帶有重定向URL的表單身份驗證。檢入身份驗證節點下的web.config。

+0

否web.config不包含login.aspx。 Web.config具有。 – hotcoder

+0

這就是你的問題,你需要 turtlepick

+0

我還沒有指定登錄。aspx任何地方。這是我問的問題,爲什麼它會login.aspx – hotcoder

1
  1. 安裝Nuget
  2. Elmah包添加到您的項目。 (拿起啤酒)
  3. 檢查您的會話是否持續正確。
  4. 檢查HttpContext.Current.User.Identity.IsAuthenticated是否爲真。
  5. 檢查您的Web.Config和IIS設置窗體身份驗證。
  6. 重新註冊ASP.Net與您的IIS安裝(谷歌aspnet_regiis)。
  7. 指定默認的登錄頁面是這樣的:

    <authentication mode="Forms"> 
        <forms loginUrl="~/Signin.aspx" defaultUrl="~/Dashboard.aspx" name=".ASPXFORMSAUTH"></forms> 
    </authentication> 
    

該窗體身份驗證教程可能是有價值的:

http://www.dotnetfunda.com/articles/article141.aspx

+0

此問題僅在現場。它在本地主機上運行良好。 – hotcoder

+0

檢查IIS設置,Web.Config設置以及可能重新向生產IIS註冊ASP.Net(如果可能)的所有更多理由。請記住,您的本地調試服務器是Cassini,您的生產服務器可能是IIS7.0。 – Jeremy

1

檢查現場服務器上的設置,它可能是強制超時作爲全局設置。

另外,正如Jeremy Child指出的那樣,將身份驗證表單loginUrl設置爲您進行身份驗證的頁面。

0

檢查您的框架版本web.config在C:\ windows \ Microsoft.NET \ Framework \ v4.0.30319 \ Config \ Web.config(或您使用的任何版本.net)以確保有人沒有添加它作爲默認值。 記得3.5和3.0都使用2.0 web.config