2017-09-29 30 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()); 
     } 
    } 
注册您的过滤器