我在任何其他页面上获取当前遇到的用户没有问题,但是对于登录和注册页面,我得到的就是null。
登录/注册成功后,我确保设置GetUserByName(User.Identity.Name)
,当然要放置在重定向操作之前,但是名称(或任何内容)不会显示。
case SignInStatus.Success:
Checker checker = new Checker
{
User = timeRepo.GetUserByName(User.Identity.Name)
};
if (model.WantCheckIn == true)
{
//timeRepo.GetUserByName(User.Identity.Name);
checker.CheckIn = DateTime.Now;
timeRepo.TimeCheck(checker);
return RedirectToAction("Index", "Home", checker);
}
我不知道我是否可以在重定向操作中具有checker
变量,但是它不起作用(没有错误,只是不起作用),所以我真的不知道该怎么做。我不能做return View(checker)
,因为它应该将您重定向到家/索引,并且由于GetUserByName(User.Identity.Name)
还是没有值。
这对我自己需要用户的控制器非常有用,但是我想我必须另一种方法从登录页面获取它。我可以做一个可以做到的"隐藏"重定向页面,但这对我来说似乎很懒惰。
我在Google上可以找到的一切,因此在登录过程之后让当前的用户可以找到,我已经可以做到了。实际上并不是要获得注册日期或能够在登录时入住,但是很好。
我认为您应该查看此功能 User.Identity.Name
有价值吗?
,如果用户获得了认证的成功,我们可以使用
获得用户This.User
如果您的控制器继承了类Controller