ASP.net MVC4 は初めてです。システムのログイン時間とシステムのログオフ時間を IP アドレスとともに記録できるプログラムを実行したいと考えています。
前もって感謝します....
ASP.net MVC4 は初めてです。システムのログイン時間とシステムのログオフ時間を IP アドレスとともに記録できるプログラムを実行したいと考えています。
前もって感謝します....
クライアント IP アドレスの使用を記録するには
HttpContext.Request.UserHostAddress //In Controller
or
HttpContext.Current.Request.UserHostAddress// In Classes
ログインとログアウトの時間を記録します。
カスタム アクション フィルター クラスを作成し、以下のように日時を記録します。
[CustomFilter(CurrentAction="Login")]
public ActionResult Login()
{
...
}
[CustomFilter(CurrentAction="Logout")]
public ActionResult Logout()
{
...
}
public class CustomFilter : ActionFilterAttribute
{
String CurrentAction {get; set;}
void IActionFilter.OnActionExecuting(ActionExecutingContext filterContext)
{
// TODO: Add your action filter's tasks here
MyDBEntities storeDB = new MyDBEntities ();
if(CurrentAction.Equals("Login"))
{
LoginDetail log = new LoginDetail ()
{
LoginTime= DateTime.Now,
IP = filterContext.HttpContext.Request.UserHostAddress
};
storeDB.LoginDetails.Add(log);
}
else if(CurrentAction.Equals("Logout"))
{
LoginDetail log = new LoginDetail ()
{
LogoutTime= DateTime.Now,
IP = filterContext.HttpContext.Request.UserHostAddress
};
storeDB.LoginDetails.Add(log);
}
storeDB.SaveChanges();
this.OnActionExecuting(filterContext);
}
}