2011-11-01 52 views
1

我很努力讓我的登錄/註冊系統正常工作。 我有一個register.aspx頁面,其中用戶註冊並將所有這些數據輸入到數據庫中,然後我有一個Login.aspx用戶應該在其中輸入用戶名和密碼。登錄/註冊時的C#ASP.Net身份驗證

但我似乎甚至不能進入這個階段,因爲身份驗證似乎不斷搞亂。

<authentication mode="Forms"> 
    <forms name="401kApp" loginUrl="/login.aspx" 
     defaultUrl="Home.aspx" 
     /> 
</authentication> 

我想我的身份驗證實現沒有人登錄(因爲他們不應該是除非他們登錄登錄頁面本身)。但由於某種原因,它似乎繼續重定向我,我經常得到HTTP 404:無法找到資源。

它重定向到:

http://localhost:52761/login.aspx?ReturnUrl=%2f

我不知道爲什麼它這樣做,因爲它甚至不會加載登錄或註冊頁面,讓當認證是對我登錄。

這是我的登錄代碼:

<asp:LoginStatus id="LoginStatus1" runat="server"></asp:LoginStatus> 
<asp:LoginView ID="LoginView1" runat="server"> 
<AnonymousTemplate> 
Please log in. 
</AnonymousTemplate> 
<LoggedInTemplate> 
Thanks for logging in 
</LoggedInTemplate> 
</asp:LoginView>    

誰能幫助我?

在此先感謝

+0

我現在掙扎,因爲它永久地說:我登錄當我有。實際上沒有使用登錄屏幕在任何時間點登錄。所以重定向問題已經解決了,但是登錄問題還沒有解決。 – Mac

回答

4

您可以根據需要指定登錄頁面節在你的web.config中添加一個'location'部分,這個部分可以讓'register.aspx'匿名訪問。否則當用戶試圖訪問它,他們將被重定向到登錄頁面,以獲取認證:

<location path="/account/register.aspx"> 
    <system.web> 
     <authorization> 
      <allow users="*"/> 
     </authorization> 
    </system.web> 
</location> 

更多信息:location Element (ASP.NET Settings Schema)

+0

我試過這個,當我點擊註冊或登錄時,它仍然嘗試重定向我: http:// localhost:52761/login.aspx?ReturnUrl =%2fAccount%2fRegister.aspx 說HTTP 404.你的資源正在查找(或其某個依賴項)可能已被刪除,名稱已更改或暫時不可用。請檢查以下網址並確保它拼寫正確。 – Mac

+0

它似乎是你的註冊頁面在一個名爲帳戶的子目錄...位置路徑屬性需要代表你想要的路徑不安全....也許「/Account/Register.aspx」,我會更新我的示例 –

+0

非常感謝你很多,是的,這已經解決了重定向問題,但是現在說我登錄了,即使我沒有通過Login.aspx頁面登錄。我清除了緩存並關閉了會話,但仍然說我已登錄。任何想法? – Mac

0

你有Login.aspx頁在應用程序的根?

如果你檢查你的web.config,你應該看到這涉及到成員資格提供(你似乎可以用),其中,如果它被稱爲不同的東西login.aspx