Я пытаюсь создать пользовательский атрибут, который поможет мне проверить сессию. Но в ядре .net я не могу обрабатывать сессии вне контроллера. После исследования я получаю этот код в сети, но когда я пытаюсь записать атрибут в действии, которое дает мне возможность предоставить HttpContextAccessor
в конструкторе, может любой помочь мне для ядра .net, я реализовал тот же код для.net Framework в mvc нужна помощь для .net core
public class SessionCheckAttribute : ActionFilterAttribute
{
private static HttpContextAccessor _httpContextAccessor;
public SessionCheck(HttpContextAccessor httpContextAccessor)
{
_httpContextAccessor = httpContextAccessor;
}
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
if (_httpContextAccessor. HttpContext.Session.GetString("Sessionname").ToString() == null )
{
//FormsAuthentication.SignOut();
filterContext.Result =
new RedirectToRouteResult(new RouteValueDictionary
{
{ "action", "LogIn" },
{ "controller", "Login" }
});
return;
}
}
}