简单的记住密码
可以记住用户名和密码,但是如果不选择记住的话,仍然在下次登录的时候显示用户名和密码。存在于客户端的cookie始终存在,删除不了。
- HTML code
<body> <form id="form1" runat="server"> <div style="width: 250px; margin: 20px auto; border: 1px solid green; text-align: right;"> <table style="width: 100%"> <tr> <td> 用户名: </td> <td> <asp:TextBox class="txt" ID="txtUserName" runat="server"></asp:TextBox> </td> </tr> <tr> <td> 密 码: </td> <td> <asp:TextBox class="txt" ID="txtPassword" TextMode="Password" runat="server"></asp:TextBox> </td> </tr> <tr> <td colspan="2"> <asp:CheckBox ID="chkRemember" runat="server" Text="记住用户名和密码" /> </td> </tr> <tr> <td colspan="2"> <asp:Button ID="btnLogin" runat="server" Text="登录" OnClick="btnLogin_Click" /> </td> </tr> </table> </div> </form></body>
- C# code
public partial class RememberPwd : System.Web.UI.Page{ protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { HttpCookie cookie = Request.Cookies["UserInfo"]; if (cookie != null) { this.txtUserName.Text = cookie.Values["uName"]; this.txtPassword.Attributes.Add("value", cookie.Values["uPassword"]); } } } protected void btnLogin_Click(object sender, EventArgs e) { string uName = this.txtUserName.Text.Trim(); string uPassword = this.txtPassword.Text.Trim(); //验证用户名密码,如果通过验证,则根据用户选择决定是否保存密码。 if (IsLogin(uName, this.txtPassword.Text.Trim())) { //获取所提交的请求中包含的Cookie HttpCookie cookie = Request.Cookies["UserInfo"]; #region 创建cookie,保存用户名和密码 //判断用户是否要求保持用户名及密码 if (chkRemember.Checked == true) { //判断是否已经保持过用户名及密码,如果是第一次则创建一个新的cookie if (cookie == null) { //创建一个名为UserInfo的Cookie cookie = new HttpCookie("UserInfo"); //在cookie中添加键值对 cookie.Values.Add("uName", uName); cookie.Values.Add("uPassword", uPassword); //设置Cookie过期时间,两周 cookie.Expires = DateTime.Now.AddDays(14); //保存Cookie Response.Cookies.Add(cookie); } else //如果该cookie存在,则修改cookie的值 { cookie.Values.Set("uName", uName); cookie.Values.Set("uPassword", uPassword); Response.SetCookie(cookie); } } else { if (cookie != null) { //不知道什么原因,就是删不掉,下次登录还存在 Response.Cookies.Remove("UserInfo"); } } #endregion //通过验证后,将用户信息保持到Session中,只要浏览器不关闭,这个Session就有效 User currentUser = new User(uName, this.txtPassword.Text.Trim()); Session["USER"] = currentUser; if (Request.QueryString["FROM"] == null || Request.QueryString["FROM"] == "") { Response.Redirect("Default.aspx"); } else { Response.Redirect(Request.QueryString["FROM"]); } } } private bool IsLogin(string uName, string p) { return true; }}
[解决办法]
帮顶支持了。
[解决办法]
设置 cookie 生命周期即可
[解决办法]
设值cookie.Expires 的过期时间
清除cookie
foreach (string cookieName in Request.Cookies.AllKeys)
{
HttpCookie cookie = Request.Cookies[cookieName];
cookie.Expires = DateTime.Today.AddDays(-5);
Response.Cookies.Add(cookie);
}
[解决办法]
在不记住密码时 这样写Response.Cookies.Add(new HttpCookie("cookisname", cook));
获得cookie:
string str= Request.Cookies["cookisname"].Value.ToString();
就不会被记住了
[解决办法]
写在cookies 给个过期时间
[解决办法]
Response.Cookies["UserInfo"].Expires = DateTime.Now.AddDays(-1);
[解决办法]
不需要循序
[解决办法]
在用户点退出时,将cookie清空
[解决办法]
选择不记住时,在写一个一模一样的cookie 发到 客服端,只是设置过期时间为负
[解决办法]
帮顶,还没有涉及这方面的问题
[解决办法]
[解决办法]
偶帮顶兼学习
[解决办法]
作界面不友好的路过。