[ASP.NET]您的登入嘗試失敗。請再試一次。

在ASP.NET當中可以使用網站管理工具建立user,roles等相關設定,並且可以設定檔案目錄的瀏覽權限。

在建立好使用者帳戶的時候,可以使用內建的login控制項製作登入頁面讓使用者進行登入的動作,相關的資料連結以及驗證加密內建工具都會自動幫你產生。

但是在使用者登入的部分需要特別注意,由於本機端開發測試環境與實際發佈佈署後的環境會有些許的不同,因此在發布會會造成使用者無法登入的情形。

發生這個問題的時候,在連線字串與資料庫資料表等都確認沒有問題時,我們就需要去確認一個地方就是URL網址。

在本機來說因為都是在個別資料夾進行開發設計,VS開發工具會預設該網站的資料夾為虛擬目錄,而就是這個虛擬目錄在作怪有設定虛擬目錄的話,一開始使用網站設定工具時,就會預設只用該虛擬目錄去產生一組Application。

ApplicationName為虛擬目錄的名稱,而重點就在每一組ApplicationName的ApplicationID是不同的,實際發佈後的ApplicationName是為跟目錄也就是只有一個”/”。

要解決這個問題有幾個方法

  1. 到web.config去設定指定預設的ApplicationName為和本機相同的虛擬目錄名稱。
  2. 至aspnet_Applications中將ApplicationName和LoweredApplicationName修改成”/”。

如果採用2的方法在本機開發環境記得要將虛擬目錄刪除讓他成為跟目錄的狀態,不然再次使用網站工具的時候他又會用另一組ApplicationID去建置user跟roles的。

在網站專案的設定中可以看到類似上方圖片的相關設定

如果虛擬路徑開發工具有自動幫你產生虛擬路徑的話,把它改成”/”像上方圖片中的設定即可解決問題。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *