2015-10-21 69 views

回答

4

如果您實現應用程序的認證部件,如在this tutorial描述,其中可以觸發跟蹤的地方很容易找到,調用SignInManager.PasswordSignInAsync之後。我建議跟蹤所有嘗試,而不僅僅是成功登錄。有幾種方法可以做到這一點,這一切都取決於您現有的體系結構,您已經使用的框架等。如果您還沒有任何東西,可以按照this tutorial的說法在MVC5中啓動並運行實體框架數據上下文,但是您將創建一個實體,而所有用於跟蹤用戶登錄的無用的字段(如時間戳,用戶名和登錄嘗試的結果),例如:

public enum LoginResult 
{ 
    Success, 
    LockedOut, 
    RequiresVerification, 
    Failure 
} 

public class UserLogin 
{ 
    public DateTime DateTime { get; set; } 
    public LoginResult LoginResult { get; set; } 
    public string Username { get; set; } 
} 

,你只需添加到您的數據上下文:

var appContext = new AppContext(); 
appContext.UserLogins.Add(new UserLogin { DateTime = DateTime.UtcNow, LoginResult = result /* Depending of result */, Username = model.EMail }); 
appContext.SaveChanges(); 

這是非常簡單的,但你明白了。當然這會花費你一些進一步的研究和開發。

+0

謝謝你的回答我想知道是否有任何簡單的方法由Identity提供來實現這種跟蹤。我只想跟蹤用戶登錄時間和註銷時間 – Wella

+0

@Wella,我不認爲並瞭解Identity Framework提供的任何方法 – thmshd