2014-01-22 43 views
1

我有一個網站,我們從一個主機移動到另一個。我也有我的開發機器上運行的網站。在我的開發機器和舊主機上,我可以成功登錄到我的管理部分。在新的主機上,管理員登錄頁面成功登錄,我可以在成員表中看到,但只是轉發給自己,而不是轉到正確的頁面。我嘗試了所有我能想到的,並且已經在網絡上找到的東西。我明確地將應用程序名稱放在Web配置提供程序和配置文件部分中。在嘗試查看發生了什麼時,我在登錄表單上放置了一個標籤,從登錄控件中刪除了目標頁面url,並放入以下代碼以明確地轉到默認頁面。asp.net登錄頁面不成功時重定向

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load 
    If IsPostBack Then 
     If User.Identity.IsAuthenticated = True Then 
      Response.Redirect("~/Admin/Default.aspx") 
      lblResponse.Text = "Passed" 
     Else 
      lblResponse.Text = "Fail" 
     End If 
    Else 
     lblResponse.Text = "New load" 
    End If 
End Sub 

在開發機器上工作正常,但在託管站點上,我獲得了登錄頁面的新帖子,而不是轉貼。任何建議將不勝感激。

回答

0

您是否嘗試再次重新發布整個項目?你也應該驗證你是否給予了想要訪問新服務器的計算機所需的所有權利。

0

登錄後,目標文件或文件夾可能有不同的安全設置。所以當你的用戶沒有通過該頁面的驗證時,它只是重定向回登錄。

檢查文件或文件夾中的Windows安全性。

+0

我看了看該網站的這部分文件夾的權限和他們是一樣的人,沒有訪問的問題。該文件夾僅從根繼承。 – DougM

+0

這個問題似乎是iis 7.我正在使用iis的visual studio版本在我的開發機器上進行測試。當我直接在IIS中在我的開發機器上打開該網站時,我得到了相同的行爲,登錄頁面需要我的憑據,但是發回自己。我查看數據庫中的asp_Membership表,我登錄了。 – DougM

+0

我真的沒有找到一個好的答案。我認爲基本問題是我使用兩個登錄表單和兩個會員表。隨時可以使用組織成員數據爲一年的表格重新加載一張表。另一個表僅用於管理員信息。這實在不符合我遇到的問題中的ASP.NET成員資格模式。我最終只是編寫了系統的管理員編碼。感謝您的所有建議。 – DougM

0

它確實聽起來像〜/ admin/default.aspx重定向,因爲它不喜歡用戶的身份驗證票證。

  • 主機名是否更改?你確定你正在接受auth cookie(ticket)嗎?
  • 用戶是否使用正確的角色進行身份驗證?我會查看Web.config並驗證頁面的任何角色設置?嘗試暫時移除角色?

的web.config:

<location path="AdminFolder"> 
    <system.web> 
    <authorization> 
     <allow roles="Admin"/> //try modifying this temporarily 
     <deny users="*"/> 
    </authorization> 
    </system.web> 
</location> 
+0

我修改了網站web.config和目錄web.config以刪除角色「admin」。仍然是同樣的問題,登錄頁面只是發回自己。由於沒有指示登錄失敗的消息,所以接受來自登錄的憑證。這讓我瘋狂。我相信這很簡單。它可能是我在開發服務器上沒有的服務器machine.config文件中的設置嗎? – DougM

+0

machine.config聽起來不太可能。爲什麼不運行開發工具或提琴手並檢查重定向 - 你是否從admin/default.aspx重定向?你確定你使用auth cookie發佈到admin/default.aspx嗎? – Brett