2009-03-03 66 views
2

我真的很愚蠢,但已經過了一個星期,我無法前進。 我有一個受認證保護的小應用程序。一切工作在本地,你可以登錄等在遠程機器上,你不能登錄,它告訴你你的登錄無法識別。現在,我認爲它可能是數據庫連接等,所以我做了一個小測試頁,列出asp_users表,並通過對用戶進行更改,我可以看到本地和遠程都通過該連接看到相同的表,爲什麼用戶身份驗證不起作用超越我。需要幫助.net登錄程序(適用於本地機器,不適用於遠程機器)

爲了澄清,它是asp.net應用程序和窗體身份驗證,db連接正在工作基於我創建的列表asp_users表的測試頁。

它不會真的報告任何錯誤,只是說 '您的登錄嘗試不成功。請再試一次。' 它必須是非常簡單的東西,我現在太沮喪了,現在看到它,這就是爲什麼我要求幫助。幫幫我 ! :)

好,所以我試圖張貼web.config的部分,但它只是沒有顯示出來。這是真正的基本配置連接字符串和成員資格和角色部分(沒有配置文件)。所以問題是你會如何去做這件事,你會檢查什麼。

在此先感謝您提供任何建設性意見。

Zeljko

+0

如果你可以發佈你的web.config的相關位,這將是一件好事。只需使用編輯器中的代碼示例框即可。 – 2009-03-03 20:32:55

+0

代碼示例按鈕是其上的1010101 ...只需粘貼您的代碼,在編輯器中突出顯示它並點擊該按鈕。 – 2009-03-03 21:00:36

回答

1

我們有一個類似的情況,雖然我們可以登錄,但該網站在選擇時拒絕「記住我」。它歸結爲確保成員資格和角色提供者都指向相同的資源。是的,那是一個「Doh!」我的時刻。 :)

你想在遠程服務器上使用SQLExpress,還是指向完整的SQLServer實例?這是我的經驗,大多數共享主機環境沒有設置爲允許在App_Data文件夾中使用.MDF ...無論如何,知道這一點將指向正確的方向。

這裏有一些事情要嘗試:

  1. 確保您的登錄ID沒有被鎖定;它確實可能是那樣簡單

  2. 確保沒有安全修整的文件夾包含登錄頁面

  3. 檢查在web.config文件中的相應提供程序設置,確保

    • 所有供應商必須具有相同的值的「應用程序」屬性

    • 所有供應商必須使用相同的連接字符串和供應商「設置」

      • 更可能的是這是怎麼回事使用SqlMembershipProvider的SqlRoleProvider
      • 如果你是不是V3.5應用程序,然後意味着你可能要添加到System.Web.Security參考。這就是命名你的實際需要
    • 如果你確信你的網站可以使用的SQLExpress,然後用AspNetMembershipProviderAspNetRoleProvider

HTH試試這個!

0

您是否有域名?如果你不這樣做,那麼你將不得不作爲你的asp.net應用程序運行的系統的用戶登錄。

如果你有一個域,嘗試登錄時

域名\用戶名

只是拋出一個在那裏。

0

它不清楚你使用的是什麼類型的認證,但如果它是Windows認證,那麼它可能是你正在從本地機器讀取你登錄的用戶,而用戶不在遠程。

如果您正確實施形式的認證,那麼它聽起來像它可能是一個數據庫連接的問題,你應該開始排除故障有..

  • 也許試圖從SQL Management Studio中從遠程連接啓動機器到數據庫(使用web.config中的連接信息)
+0

它是具有表單身份驗證的asp.net應用程序,我驗證了數據庫連接並且它們運行良好,我還將所有連接名稱(在角色,成員身份)重命名爲相同,以便錯誤不會在此處出現。奇怪的是,它在本地工作,而不是在與同一個數據庫交談時遠程工作。 – 2009-03-03 21:05:12

+0

也許開始嘗試從SQL管理工作室從遠程機器連接到數據庫(使用web.config中的連接信息) – 2009-03-03 21:22:17

0

什麼是IIS的目錄安全設置?確保「匿名訪問和身份驗證控制」對話框的設置相同。此處的無效設置是導致此特定錯誤的最可能原因。

相關問題