我对 MVC Anti forgery 令牌有疑问。当我进行身份验证时,我有这样的伪代码:
var user = userRepository.GetByEmail(email);
System.Threading.Thread.CurrentPrincipal = HttpContext.Current.User = user;
通过这样做,我可以像这样在我的代码中获取当前用户:
var user = HttpContext.Current.User as EntityUser;
在我将 [ValidateAntiForgeryToken] 属性添加到操作之前,这可以正常工作。当我添加我得到的属性
所需的防伪令牌未提供或无效。
如果我注释掉这一行:
System.Threading.Thread.CurrentPrincipal = HttpContext.Current.User = user;
防伪验证工作正常,但我没有方便的方法从 HttpContext 获取我的“EntityUser”。关于如何解决这个问题的任何想法?最好的问候米凯尔