我正在爲學校製作項目。我在ASP.Net中編寫了一個網站,我只是做了一個簡單的登錄系統。當用戶輸入電子郵件和密碼時,我查詢數據庫並確保它們有效。ASP.NET登錄後,其他連接都已登錄
在這一點上,我想知道誰登錄,所以我有一個名爲User.cs的類來跟蹤登錄的人。
public class User
{
static public bool loggedIn = false;
static public int userType = -1;//1 = Agent, 2 = Buyer/Renter
static public int id = -1;//the id of the user
}
例如內部User.cs
,有一種叫做bool loggedIn
變量。在登錄按鈕點擊後,我將它設置爲true
,這樣在Page_Load()
期間,我可以使登錄/註冊按鈕在需要時不可見。我使用IIS部署了該網站,並通過從計算機登錄進行測試,效果很好。然後我從另一臺計算機上登錄,並且從第一次登錄時,我仍然以最後一位用戶的身份登錄。我退出後,我從所有其他計算機上退出,並從該計算機打開網站。
所以最後,我不知道如何做出正確的登錄系統。
非常感謝您的回答。因此,當logIntButton_Click發生在logInPage.Master.cs中時,我創建了一個包含非靜態變量的User對象,然後將此新的User對象實例放入Session中。在此loginButton_Click之後,我將用戶重定向到HomePage.aspx。 HomePage.Master.cs的Page_Load()函數我需要訪問會話並查看是否有登錄用戶,以便我可以決定顯示「創建列表」按鈕。但是現在會話必須是全局變量?這不會造成同樣的問題嗎? – 2013-03-20 19:56:11
@Yunus,根據定義,會話不是一個全局變量,它實際上是一個特殊的字典,當用戶通過瀏覽器訪問您的網站時,該會話在IIS上創建。該會話基於Cookie,IP地址和其他機制進行管理和加載。 – 2013-03-20 20:01:53
這很有趣,我不知道。我認爲會議是我必須寫的另一課。感謝您的幫助! – 2013-03-20 23:59:03