2013-06-24 64 views
1

有一張表格用於保存用戶的詳細信息。管理員可以通過設置名爲locked的列來鎖定該用戶。一旦用戶被鎖定,他們將無法登錄。我正在使用WebSecurity.Login進行登錄。截至目前,我讓用戶登錄,然後檢查他們是否沒有鎖定,如果他們而不是主頁,他們被重定向到鎖定頁面。登錄前檢查用戶數據的最佳做法

什麼是我可以使用的最佳實踐,以便用戶不會登錄,檢查該字段並獲取重定向。這是MVC 4

在此先感謝...

回答

1

也許我誤解你..但現在你有這樣的事情:

Membership.LoginUser(userName, password); 

if (CurrentUser.IsLocked) { 
    RedirectUser(); 
} 

..can你不只是將其替換爲像這樣?:

var user = Membership.GetUser(userName, password); 
if (user.IsLocked) { 
    Redirect(); 
} 
else { 
    Membership.LoginUser(user); 
} 

...?

+0

你的理解是正確的。因此,這將在登錄前拉入整個用戶數據。我也嘗試過。但它是最好的方式,我的意思是如果它存在任何安全問題?想知道! –

+0

您還希望能夠檢查'IsLocked'字段嗎?另一種選擇是一個單一的領域實體,只是持有該領域..雖然它不是必需的。 –

+0

感謝您的回答 –