从登录页面获取当前用户

问题描述:

我有任何其他页面上获取当前登录的用户没有问题,但对于登录和注册页面,我所得到的全部为空。从登录页面获取当前用户

我已经确保在登录/注册成功后设置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和SO上找到的所有内容都是在登录过程之后获取当前用户,我已经可以做到这一点。获取注册日期或能够登录登录并不是必要的,但它会很好。

+0

你怎么能得到一个用户名时,用户没有登录?登录和注册页面的情况如下 – DiskJunky

+0

用户登录后,我希望它获取信息。 我在Switch上放置了一个断点,并且“Success”确实给了我用户(名称,密码,ID,一切)。 我想知道的是我如何获得该信息并将其用于我的入住/注册日期。 – Will

我认为你应该检讨这个功能 User.Identity.Name有价值与否?

如果用户已经验证成功,我们可以通过使用

This.User 

让用户如果控制器继承类Controller

+0

'User.Identity.Name'在这种情况下没有价值,这是我的问题,因为用户*应该*现在登录(在“成功”的情况下,所有的都是将用户重定向到主页) 我会把'This.User'放在哪里? – Will

+0

如果用户登录成功,则可以使用'this.user' –