我有驗證碼:何時設置HttpContext.User.Identity?
var authTicket = new FormsAuthenticationTicket(/*blahblah....*/);
var cookie = new HttpCookie(FormsAuthentication.FormsCookieName,
FormsAuthentication.Encrypt(authTicket));
Response.Cookies.Add(cookie);
var name = HttpContext.User.Identity.Name; // line 4
通過將在調試語句,我發現name
第4行是空的。但是,下次我在此瀏覽器會話中撥打電話時,HttpContext.User.Identity.Name
已正確設置。
那麼這個值何時設置?
只是想知道爲什麼你會手動創建cookie並將其添加到響應而不是隻是調用:FormsAuthentication.SetAuthCookie()? –
也想知道爲什麼你需要從HttpContext獲取用戶名,如果你打算設置一個Auth cookie?當然,如果你要設置一個Auth cookie - 你說你想把這個人設置爲「登錄」 - 如果你不知道他們的用戶名,你怎麼能做到這一點? –
@尼克 - 原因是因爲這是一系列發展中的最新發展,你可以從這裏跟着回來:http://stackoverflow.com/q/6586156/7850 –