Я хочу выдать себя за пользователя, используя приведенный ниже код, фильтр выполняет олицетворение до того, как будет выполнено действие.
Если я правильно понимаю, Authentication.SignIn()
сделает ответ несущим cookie, который сделает пользователяаутентифицироваться на следующем запросе .Однако я не хочу туда-обратно.После того как фильтр подтвердил подлинность / выдал себя за пользователя, он должен быть сразу доступен в действии через HttpContext.Current.User
.
Как мне это сделать?
public class ImpersonationFilter:ActionFilterAttribute
{
HttpContextBase context;
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
//login user
context.Request
.GetOwinContext()
.Authentication
.SignIn();
}
}
[ImpersonationFilter]
public class HomeController : Controller
{
public ActionResult Index()
{
var user = HttpContext.Current.User;
}
}