0
我正在尋找正確的方式來實現「記住我」複選框,直到現在我沒有找到好的&簡單的解決方案,因此我已經將代碼段加在一起。正確的方式實現記住我
你可以請直接指導我做正確的步驟嗎? 我認爲,在2015年這將是直線前進..
這些都是我做的步驟(我認爲這是一個有點笨拙)
- 用戶嘗試登錄 - 如果他進入正確的用戶名密碼&,我檢查,看是否有
cookie["rememberMe"]
是存在的, 如果不可─我創建一個新的Cookie並將其命名爲「與rememberMe」
var token = Guid.NewGuid(); HttpCookie rememberMe = new HttpCookie("rememberMe"); rememberMe["username"] = username; BL.SetCookieToken(username, token); rememberMe["token"] = token.ToString();
SetCookieToken
正在將新的cookie令牌寫入db-在users表中有一列「cookieToken」。當用戶重新打開瀏覽器,在
pageload
事件 應用進入數據庫,並檢查是否有特定的用戶,如果令牌匹配protected void Page_Load(object sender, EventArgs e) { if (Request.Cookies["rememberMe"] != null) { var username = Request.Cookies["rememberMe"]["username"]; var token = Request.Cookies["rememberMe"]["token"]; Guid cookieToken = BL.GetTokenByUserName(username); if (cookieToken.ToString() == token) { Response.Redirect("~/Pages/home.aspx"); } } }
我做的是正確的辦法?
是否有任何內置功能? –
在這裏有一個相當不錯的convo ... http://stackoverflow.com/questions/24904528/asp-net-mvc-remember-me有沒有一個特定的「記住我」功能'內置'我是意識到(並不意味着它不存在),但有很多內置的功能可以幫助實現。 – kevindeleon