[ad_1]
やあみんな、
以下のユーザー名を取得したい
<pre lang="c#"> public ActionResult Login(LoginModel model, string returnUrl) { if (User.Identity.IsAuthenticated)//this is get always false { string user = User.Identity.Name;//here i need username } if (ModelState.IsValid && WebSecurity.Login(model.UserName, model.Password, persistCookie: model.RememberMe)) { return RedirectToLocal(returnUrl); } // If we got this far, something failed, redisplay form ModelState.AddModelError("", "The user name or password provided is incorrect."); return View(model); }
User.Identity.IsAuthenticated always return false so userid comes always -1, I am not even able to short out my mistake, what mistake am doing and how can i overcome with this, please help me..
解決策 1
User.Identity.IsAuthenticated は、FormsAuthentication.SetAuthCookie() を呼び出した後の次の要求まで true に設定されません。
http://msdn.microsoft.com/en-us/library/twk5762b.aspx を参照してください。
SetAuthCookie メソッドは、フォーム認証チケットを Cookie コレクションに追加するか、CookiesSupported が false の場合は URL に追加します。 フォーム認証チケットは、ブラウザによって行われる次のリクエストにフォーム認証情報を提供します。
解決策 2
皆さん、こんにちは。OWIN で Microsoft アカウント認証をテストしていましたが、少なくとも 1 つのコントローラーに Authorize アノテーションを配置する必要があることに注意しました。これが役立つことを願っています
[ad_2]
コメント