他のページに現在ログインしているユーザーを取得するのに問題はありませんが、「ログイン」ページと「登録」ページではすべてが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でログインプロセスの後に現在のユーザーを取得することができました。登録日を取得したり、ログイン時にチェックインする必要はありませんが、いいですね。
お使いのコントローラを継承したクラスならば
を使用してユーザーを得ることができますか?これは、ログインページと登録ページのケースです。 – DiskJunky
ユーザーがログインした後で、情報を取得したかったのです。 私はスイッチのケースにブレークポイントを設定しました。そして、 "成功"のケースが本当に私にユーザー(名前、パスワード、ID、すべて)を与えました。 私が知りたいのは、その情報を入手してチェックイン/登録日に使用する方法です。 – Will