Обычно я использую собственный ActionFilter для выполнения подобных задач.
Приведите в действие некоторые типы или все, что вам нужно:
public enum AuditEventType
{
LoggedIn,
LoggedOut,
ViewedPage,
Etc
}
Создайте класс фильтра действий:
public class AuditEvent : ActionFilterAttribute
{
AuditEventType Type;
public AuditEvent(AuditEventType type)
{
Type = type;
}
public override OnActionExecuted()
{
//log user name and audit event to db
}
}
Украсьте свой контроллер метод, который вы хотите войти:
[HttpPost]
[AuditEvent(AuditEventType.LoggedIn)]
public ActionResult Login(LoginModel model)
{
//do login logic
}