本帖最后由 a654732040 于 2014-12-18 14:51:18 编辑

解决方案 »

  1.   

    那可不能搞什么“记住密码”。在cookie中保存一个“授权号(例如用户名)”就行了,保存密码可不仅仅是多余而且还是危险的。
      

  2.   

    这代码写得。。一般都是 用cookie 
      

  3.   


    cookie用存储的 一般是 id  什么的  不是直接存储 用户
      

  4.   

    记住我就是用cookie存一个已成功登录账号的授权token  下次进入页面的时候直接验证这token是否合法
      

  5.   

    将用户名存在cookie里面,在进入网站的时候去检查是否存在此cookie,存在表示已记住密码!!
      

  6.   

    这也太简陋了吧……那我知道别人的用户名,我用js改改cookie岂不是可以直接登录账户了?
      

  7.   

    这也太简陋了吧……那我知道别人的用户名,我用js改改cookie岂不是可以直接登录账户了?
    cookie 本身就加密了,而且还是在本地用户电脑上! 不然你就做点识别
      

  8.   

    ASP.NET使用无刷新登录、记住用户名的功能实现
    //表头放AJAX管理索引
    <asp:ScriptManager ID="ScriptManager1" runat="server">
                        </asp:ScriptManager>
    //用户名安装UpdatePanel
     <asp:UpdatePanel ID="UpdatePanel1" runat="server">
                            <ContentTemplate>
    <asp:TextBox ID="tbName" CssClass="TextBox" runat="server" MaxLength="50" Width="144px" BackColor="White"></asp:TextBox>//用户名设置</ContentTemplate>
                        </asp:UpdatePanel>//安放到哪里都可以但是只需安放一个<asp:CheckBox ID="cbxRemeberUser" runat="server" Checked="true" Text="记住用户名" />//设置记忆用户名
    <asp:TextBox ID="tbPassword" CssClass="TextBox" runat="server" MaxLength="255" Width="143px" TextMode="Password" BackColor="White"></asp:TextBox>//设置登录密码
    <asp:ImageButton ID="btnLogin" runat="server" Style="background-image: url(App_Themes/MRSOFTASPNET/Images/anniu1.gif);
                            width: 74px; height: 24px" OnClick="btnLogin_Click" ImageUrl="~/App_Themes/MRSOFTASPNET/Images/anniu1.gif" />//登录按钮设置
    //cs页面设置
    //加载设置Cookie记录用户名
     protected void Page_Load(object sender, EventArgs e)
        {
            if (!Page.IsPostBack)
            {
                if (!Object.Equals(Request.Cookies["UserName"], null))
                {
                    //创建一个Cookie对象,记住用户名
                    HttpCookie readcookie = Request.Cookies["UserName"];
                    this.tbName.Text = readcookie.Value;
                }
            }    
        }//codego.net/tags/11/1/
      //实例自动记住用户登录名功能 
        private void CreateCookie()
        {
            //创建一个Cookie对象
            HttpCookie cookie = new HttpCookie("UserName");
            //判断Checkbox控件是否被选中
            if (this.cbxRemeberUser.Checked)
            {
                //将用户名存储到创建的Cookie对象中
                cookie.Value = this.tbName.Text;
            }
            //获取创建的Cookie对象的过期时间
            cookie.Expires = DateTime.MaxValue;
            //将创建的Cookie对象添加到内部Cookie集合中
            Response.AppendCookie(cookie);
        }
    //登录
    protected void btnLogin_Click(object sender, ImageClickEventArgs e)
        {
            if (Page.IsValid == true)
            {
                HttpCookie cookie = Request.Cookies["CheckCode"];
                               //实例化命名空间中创建的公共类
                    MRSOFTASPNET.XmlBBS.User user = new User();
                    //定义一个数据阅读器,并调用公共类中的GetUserLogin方法获得用户的登录名及密码
                    SqlDataReader dr = user.GetUserLogin(tbName.Text.Trim(), tbPassword.Text.Trim());
                    bool isLogin = false;
                    //打开数据阅读器
                    if (dr.Read())
                    {
                        //调用命名空间中的UserInfo方法创建用户信息
                        MRSOFTASPNET.UserCommonOperation.UserInfo info = new UserInfo();
                        info.UserID = DataTypeConvert.ConvertToInt(dr["ID"].ToString());
                        info.UserName = tbName.Text;
                        info.LoginDate = DateTime.Now;
                        //判断用户名是否为空
                        if(object.Equals(Request.Cookies["UserName"],null))
                        {
                            //调用自定义方法CreateCookie()记住用户名
                            CreateCookie();
                        }
                        else
                        {
                            CreateCookie();
                        }
                        //保存登录信息到Session中
                        UserCommonOperation.StoreUserInfo(Session, info);
                        //标识登录成功 
                        isLogin = true;
                    }
                    //关闭数据阅读器
                    dr.Close();
                    if (true == isLogin)
                    {
                        Server.Transfer("~/ProjectBBS/Index.aspx");
                    }
                    else
                    {
                        Response.Write("<script lanuage='javaScript'>alert('你输入的用户名称或者密码有误,请重新输入!');location='UserLogin.aspx'</script>");
                    }
            }
        }//如果确实需要记录密码那你自己改变一下即可!
      

  9.   

    好像当form里有一个Password和一个submit 时浏览器会启用自动填充的功能
      

  10.   

    这也太简陋了吧……那我知道别人的用户名,我用js改改cookie岂不是可以直接登录账户了?
    cookie 本身就加密了,而且还是在本地用户电脑上! 不然你就做点识别cookie本身有加密?
    自己不做特殊处理的话哪有加密?
    我用js打出来的cookie没看到啥加密。我是说,假如用户猜到了是用这种方式实现免登陆的话,他知道别人的用户名不就可以自己用js改改cookie然后免登陆了?
      

  11.   

    这也太简陋了吧……那我知道别人的用户名,我用js改改cookie岂不是可以直接登录账户了?我很好奇:我在A电脑记住了密码。然后把我用户名告诉你,你在B电脑修改这个用户名的cookie后,可以登录????
      

  12.   

    这也太简陋了吧……那我知道别人的用户名,我用js改改cookie岂不是可以直接登录账户了?我很好奇:我在A电脑记住了密码。然后把我用户名告诉你,你在B电脑修改这个用户名的cookie后,可以登录????上面不是说,假如用户选取了免登陆之后,将其用户名存到一个cookie里面,然后后台加一个cookie判断吗。
    比如,当名字为"userName"的cookie有值,且这个值在用户表里能查到时,就判断其通过,然后就设置session啥的,实现免登陆了。假如就是这种实现方式的话,那么你把用户名告诉我,我在其他电脑上修改这个cookie,就能登录这个账号。我自己也试过……
      

  13.   

    记录到cookies中,最好设置cookies的时间