我在任何其他页面上获取当前登录用户没有问题,但是对于Login and Register页面,我得到的只是null。
我确保在登录/注册成功后设置GetUserByName(User.Identity.Name)
,当然放在重定向操作之前,但名称(或任何相关内容)都不会显示。< / p>
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)
无法获得,因此无法正常工作无论如何都是一个价值。
这对我自己的控制器很有用,我需要用户,但我想我必须以另一种方式从登录页面获取它。 我可以制作一个&#34;隐藏&#34;这样做的重定向页面,但这对我来说似乎非常懒惰。
我在谷歌和SO上找到的只是在登录过程之后获得当前用户,我已经可以做了。没有必要获得注册日期或登录时办理登机手续,但这样会很好。
答案 0 :(得分:0)
我认为您应该检查此功能
User.Identity.Name
有价值与否?
如果用户已通过身份验证,我们可以通过
获取用户This.User
如果您的控制器继承了类Controller