从登录页面

时间:2017-09-27 09:04:05

标签: c# asp.net-mvc asp.net-identity

我在任何其他页面上获取当前登录用户没有问题,但是对于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上找到的只是在登录过程之后获得当前用户,我已经可以做了。没有必要获得注册日期或登录时办理登机手续,但这样会很好。

1 个答案:

答案 0 :(得分:0)

我认为您应该检查此功能 User.Identity.Name有价值与否?

如果用户已通过身份验证,我们可以通过

获取用户
This.User

如果您的控制器继承了类Controller