2017-09-29 46 views
0

授權後,當添加跟蹤日誌我有一個asp.net MVC的網站身份驗證配置如下使用UseJwtBearerAuthentication

app.UseJwtBearerAuthentication(
new JwtBearerAuthenticationOptions 
{ 
    TokenValidationParameters = new TokenValidationParameters() 
    { 
     AudienceValidator = ValidateAudience, 
     ValidIssuer = GlobalUri, 
     SaveSigninToken = true, 
     IssuerSigningKeyResolver = await IssuerSigningKeyResolverAsync(), 

    } 
}); 

我的問題是我要當一個用戶進行身份驗證或以其他方式添加跟蹤日誌。

不幸的是,我沒有看到一個鉤子,我可以在owin管道中的auth後做一些後處理。還是有其他方法?

+0

你提到aspnet但aspnet很大,你使用aspnet webforms,MVC還是WebApi? –

+0

我使用asp.net mvc。我現在編輯我的問題更加清楚。謝謝指出。 – Tany

回答

1

我認爲你必須使用過濾器,以記錄用戶的活動,你可以創建一個過濾器這樣

public class UserActivityFilter : ActionFilterAttribute, IActionFilter 
    { 

     void IActionFilter.OnActionExecuting(ActionExecutingContext actionExecutedContext) 
     { 
      Log(actionExecutedContext); 
      base.OnActionExecuting(actionExecutedContext); 
     } 

     private void Log(ActionExecutingContext filterContext) 
     { 
      //Your logic log here 
     } 
    } 

然後在App_Start \ FilterConfig.cs

public class FilterConfig 
    { 
     public static void RegisterGlobalFilters(GlobalFilterCollection filters) 
     { 
      filters.Add(new UserActivityFilter()); 
     } 
    } 
註冊您的過濾器