public (bool, int) ValidateRequest(HttpContext context) { Boolean IsValidToken = false; int StatusCode = default(int); DiQueue diQueue = DiQueue.GetInstance(); currentSession = context.RequestServices.GetService(typeof(CurrentSession)) as CurrentSession; currentSession.RequestPath = context.Request != null ? context.Request.Path.Value : ""; currentSession.FileUploadFolderName = this.configuration.GetValue <string>("Configuration:FolderName"); Parallel.ForEach(context.Request.Headers, header => { if (header.Value.FirstOrDefault() != null) { if (header.Key == TokenName) { currentSession.Authorization = header.Value.ToString().Trim(); } } }); if (NoCheck.Where(x => x.ToLower() == currentSession.RequestPath.Replace(@"/api/", "").ToLower()).FirstOrDefault() == null) { if (!string.IsNullOrEmpty(currentSession.Authorization)) { EFlags flag = this.beanContext.ValidateToken(currentSession.Authorization); StatusCode = (int)flag; IsValidToken = false; if (flag == EFlags.Success) { IsValidToken = true; StatusCode = (int)EFlags.Success; } } else { StatusCode = (int)EFlags.TokenNotFound; IsValidToken = false; } } else { IsValidToken = true; StatusCode = (int)EFlags.Success; } return(IsValidToken, StatusCode); }
public BottomhalfMiddleware(RequestDelegate next, IConfiguration configuration, bool Flag = false) { diQueue = DiQueue.GetInstance(); _next = next; EnableApiManage = Flag; }