2017-09-27 26 views
-2

他のページに現在ログインしているユーザーを取得するのに問題はありませんが、「ログイン」ページと「登録」ページではすべてが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)をHome/Indexにリダイレクトするはずなので、GetUserByName(User.Identity.Name)には値が得られないので動作しませんので、できません。

これは私のユーザーが必要な自分のコントローラーには最適ですが、ログインページから別の方法で取得する必要があると思います。 I することができますが、それはそれを行う "隠された"リダイレクトページを作るが、それは私の部分で非常に怠惰に思えます。

私はすでにGoogleでログインプロセスの後に現在のユーザーを取得することができました。登録日を取得したり、ログイン時にチェックインする必要はありませんが、いいですね。

+0

お使いのコントローラを継承したクラスならば

This.User 

を使用してユーザーを得ることができますか?これは、ログインページと登録ページのケースです。 – DiskJunky

+0

ユーザーがログインした後で、情報を取得したかったのです。 私はスイッチのケースにブレークポイントを設定しました。そして、 "成功"のケースが本当に私にユーザー(名前、パスワード、ID、すべて)を与えました。 私が知りたいのは、その情報を入手してチェックイン/登録日に使用する方法です。 – Will

答えて

0

この機能を確認してください。 User.Identity.Nameは価値がありますか?

、ユーザーが認証の成功を持っている場合、我々は、ユーザーがまだログインしていないときに、ユーザー名を取得できますかController

+0

'User.Identity.Name'はこの場合値を持っていません。これは私の質問です。ユーザーが*成功する必要があります。*成功した後は、ユーザーをメインにリダイレクトする必要がありますページ) 「This.User'」はどこに置かれますか? – Will

+0

ユーザが成功した場合は、とにかく 'this.user'を使うことができます –

関連する問題