• 一般通常情况下,都是使用cookie来记录用户名和密码。以下是部分代码: 第一登陆时候代码:  protected void Page_Load(object sender, EventArgs e)  {  HttpCookie cookies = Request.Cookies[...

    一般通常情况下,都是使用cookie来记录用户名和密码。以下是部分代码:

    第一登陆时候代码:


     protected void Page_Load(object sender, EventArgs e)
            {
                HttpCookie cookies = Request.Cookies["platform"];
                //判断是否有cookie值,有的话就读取出来
                if (cookies != null && cookies.HasKeys)
                {
                    tbxUserName.Text = cookies["Name"];
                    //tbxPwd.Text= cookies["Pwd"];
                    tbxPwd.Attributes.Add("value", cookies["Pwd"]);
                    this.chkState.Checked = true;
                }
            }
            protected bool getUser()
            {
                string userName = tbxUserName.Text.Trim();//用户名
                string userPwd = FormsAuthentication.HashPasswordForStoringInConfigFile(tbxPwd.Text.Trim(), "MD5"); //MD5密码
                StringBuilder strWhere=new StringBuilder();
                strWhere.AppendFormat("auserName='{0}' and auserPassword='{1}'", userName, userPwd);
                bl.A_TUser user = new bl.A_TUser();
                DataSet ds = new DataSet();
                ds=user.GetList(strWhere.ToString());
                if (ds.Tables[0].Rows.Count>0)
                {
                    if (chkState.Checked)//记录cookie值
                    {
                          HttpCookie cookie = new HttpCookie("platform");
                          cookie.Values.Add("Name", tbxUserName.Text.Trim());
                          cookie.Values.Add("Pwd", tbxPwd.Text.Trim());
                          cookie.Expires = System.DateTime.Now.AddDays(7.0);
                          HttpContext.Current.Response.Cookies.Add(cookie);
                    }
                    //else
                    //{
                    //    if (Response.Cookies["platform"] != null)
                    //        Response.Cookies["platform"].Expires = DateTime.Now;
                    //}
                    Session["userId"] = ds.Tables[0].Rows[0][0].ToString();
                    Session["userName"] = ds.Tables[0].Rows[0][1].ToString();
                    return true;
                }
                return false;
            }
            protected void btnLogin_Click(object sender, EventArgs e)
            {
                if (getUser())
                {
                    Response.Redirect("Default.aspx");
                }
                else
                {
                    MessageBox.Show(this, "用户名和密码不正确");
                }
            }

        } 

    展开全文
  • 简单的实现用户登录记住账号密码功能用户类: /// <summary> /// 用户 /// </summary> [Serializable] public class User : BaseEntity { public int Id { get; set; } /// &...

    简单的实现用户登录记住账号密码功能

    用户类:

        /// <summary>
        /// 用户
        /// </summary>
        [Serializable]
        public class User : BaseEntity
        {
            public int Id { get; set; }
    
            /// <summary>
            /// 用户名
            /// </summary>
            [Display(Name = "用户名")]
            [StringLength(32)]
            public string Name { get; set; }
    
            /// <summary>
            /// 性别
            /// </summary>
            [Display(Name = "性别")]
            [StringLength(32)]
            public string Gender { get; set; }
    
            /// <summary>
            /// 用户分组
            /// </summary>
            [Display(Name = "用户分组")]
            [StringLength(32)]
            public string Group { get; set; }
    
            /// <summary>
            /// 角色
            /// </summary>
            [Display(Name = "角色")]
            [StringLength(32)]
            public string Role { get; set; }
    
            /// <summary>
            /// 密码
            /// </summary>
            [Display(Name = "密码")]
            [StringLength(255)]
            public string Password { get; set; }
    
            /// <summary>
            /// 登录时间
            /// </summary>
            [Display(Name = "登录时间")]
            public DateTime? LoginDateTime { get; set; }
        }

    序列化,所谓序列化就是把实体对象保存到存储媒介中,以便于再次启动程序时可以读取到保存的信息。我们利用这个特点,实现用户账号和密码记住功能。

    首先对用户类对象进行序列化:在用户登录成功时,保存用户的信息到本地。

                        Stream s = File.Open("user.dat", FileMode.OpenOrCreate);
                        BinaryFormatter binaryFormatter = new BinaryFormatter();
    
                        binaryFormatter.Serialize(s, user);
                        s.Close();

    这样就把User类的实例保存到文件user.dat中,以便在用户再次打开程序时,自动输入账号和密码信息。

    当用户再次进入登录界面时,我们对user.dat中保存的用户信息串行化,也就是把保存的信息还原为一个User对象,然后我们就可以使用读取到的信息填充登录界面的用户名和密码,实现记住账号和密码功能。

    读取信息代码如下:

                if (!File.Exists("user.dat"))
                {
                    return;
                }
    
                Stream fs = File.Open("user.dat", FileMode.Open);
                if (fs == null || fs.Length == 0)
                {
                    return;
                }
    
                BinaryFormatter bf = new BinaryFormatter();
    
                object o = bf.Deserialize(fs);
    
                if (o is User user)
                {
                    UserNameTextBox.Text = user.Name;
                    PasswordTextBox.Text = user.Password;
                    rememberPasswordCheckBox.Checked = true;
                }
    
                fs.Close();
    以上就简单的实现了用户登录记住密码的功能。


    展开全文
  • 没啥好说的,就是冲着积分来的,我是个菜鸟,也许有和我一样的菜鸟也因为这个功能在困扰,所以发上来。希望可以互勉。不废话了,直接上功能代码。   这是具体的实现方法,虽然是菜鸟,但不能全部说明,不然最后的...

    没啥好说的,就是冲着积分来的,我是个菜鸟,也许有和我一样的菜鸟也因为这个功能在困扰,所以发上来。希望可以互勉。不废话了,直接上功能代码。

     

    这是具体的实现方法,虽然是菜鸟,但不能全部说明,不然最后的结果是没什么长进的。

    下面来具体的调用:

    1、读取

    2、存储

    就这样,菜鸟第一次发,希望大神们指点。

    最后,喊一下菜鸟共同的口号:我们的口号是:没有蛀.....牙,呃,不对,变成大神。谢谢!

    展开全文
  • MVC记住账号密码 使用cookie操作 前端: 1 <div> 2 用户名:<input type="text" id="UserName" value="@ViewBag.UserName"/> 3 </div> 4 <div> 5 ...

    MVC记住账号密码

    使用cookie操作

    前端:

     1 <div>
     2             用户名:<input type="text" id="UserName" value="@ViewBag.UserName"/>
     3         </div>
     4         <div>
     5             &nbsp;&nbsp;&nbsp;密码:<input type="text" id="UserPwd" value="@ViewBag.UserPwd" style="margin-top:10px"/>
     6         </div>
     7         <div>
     8             <input type="checkbox" id="single" checked="checked" style="margin-left:50px;margin-top:10px"/>&nbsp;记住密码
     9         </div>
    10         <div>
    11             <input type="button" value="登录" οnclick="btnRegister()" style="margin-left:100px;margin-top:10px"/>
    12         </div>

    JS代码:

    通过AJAX 传输数据 我们不仅要传输账号和密码 还有传复选框的状态(参数CK)

     1 function btnRegister()
     2     {
     3         $.get("/Login/UsersLogin", { Name: $("#UserName").val(), Password: $("#UserPwd").val(), Ck: $("#single").prop('checked') }, function (data, Status) {
     4             if(Status="success")
     5             {
     6                 if (data > 0)
     7                 {
     8                     alert('登录成功');
     9                     window.location.href = "/OilDrum/Index";
    10                 }
    11                 else {
    12                     alert('用户名或密码错误');
    13                 }
    14             }
    15         })
    16     }

     

     

     

    在登录的方法中:

    CK参数就是复选框的状态true或false

    首先判断数据库中是否存在账号密码

    之后判断复选框是否选中

    选中: 创建一个cookie对象

    在cookie对象中保存用户名和密码,并设置cookie的过期时间,保存到客户端中去

    未选中:创建一个cookie对象

    判断cookie对象中是否空值,存在值的情况下,设置过期时间为-1,因为我们复选框为false没有选中,所以我们要把过期的时间设置为之前的时间,这样Cookie就会空值,保存到客户端中

     注意:

    在将密码存入到cookie中,可能不大安全,因为cookie以文本的形式存放在客户端中,这将会使我们的密码暴露出来,

    我们可以在密码存储到cookie中的时候,对密码进行加密,如(MD5密码加密等....)

     1 public int UsersLogin(LoginModel loginModel,bool Ck)
     2         {
     3             try
     4             {
     5                 List<LoginModel> enumerable = new List<LoginModel>();
     6                 int nn = 0;
     7                 using (IDbConnection con = new SqlConnection(connecString))
     8                 {
     9                     nn =(int) con.ExecuteScalar("select COUNT(1) from Users where Name=@Name and Password=@Password", new { Name = loginModel.Name, Password = loginModel.Password });
    10                 }
    11                 if (nn > 0)
    12                 {
    13                     //判断是否记住密码
    14                     if(Ck)
    15                     {
    16                         HttpCookie hc = new HttpCookie("Example");
    17 
    18                         //在cookie对象中保存用户名和密码
    19                         hc["UserName"] = loginModel.Name;
    20                         hc["UserPwd"] = loginModel.Password;
    21                         //设置过期时间
    22                         hc.Expires = DateTime.Now.AddDays(2);
    23                         //保存到客户端
    24                         Response.Cookies.Add(hc);
    25                     }
    26                     else
    27                     {
    28                         HttpCookie hc = new HttpCookie("Example");
    29                         //判断hc是否空值
    30                         if(hc!=null)
    31                         {
    32                             //设置过期时间
    33                             hc.Expires = DateTime.Now.AddDays(-1);
    34                             //保存到客户端
    35                             Response.Cookies.Add(hc);
    36                         }
    37                         
    38                     }
    39                     return 1;
    40                 }
    41                 else
    42                 {
    43                     return 0;
    44                 }
    45             }
    46             catch (Exception e)
    47             {
    48 
    49                 throw;
    50             }
    51         }

     

    在控制器中的视图方法中:

    获取UsersLogin方法中创建的cookie对象Example是否存在数据

    有值:赋值给对应的文本框

    空值:直接返回视图

    public ActionResult Index()
            {
                //获取cookie中的数据
                HttpCookie cookie = Request.Cookies.Get("Example");
    
                //判断cookie是否空值
                if(cookie!=null)
                {
                    //把保存的用户名和密码赋值给对应的文本框
                    //用户名
                    var name = cookie.Values["UserName"].ToString();
                    ViewBag.UserName = name;
                    //密码
                    var pwd = cookie.Values["UserPwd"].ToString();
                    ViewBag.UserPwd = pwd;
                }
                return View();
            }

     

    转载于:https://www.cnblogs.com/Hmd528/p/10695156.html

    展开全文
  • 背景Winform实现登录窗体中记住密码的功能,模仿QQ登录记住密码的实现 如下图所示,其中标题部分因为项目保密的原因,我加了马赛克,请大家见谅。 用户名输入框我们采用下拉列表框ComboBox 密码框我们采用...

    背景


    Winform实现登录窗体中记住密码的功能,模仿QQ登录记住密码的实现
    如下图所示,其中标题部分因为项目保密的原因,我加了马赛克,请大家见谅。
    这里写图片描述
    用户名输入框我们采用下拉列表框ComboBox
    密码框我们采用textBox,并设置为密码框

    设置textBox输入时不显示明文,需要将useSystemPasswordChar改为true,然后multiline设置为false,然后重新生成一下就可以了,因为textbox为显示为密码字符是当textbox为单行编辑的时候,useSystemPasswordchar的设置才会生效,然后我们还可以通过passwordChar设置textbox中以哪种形式来显示你输入的字符,默认是”*”。

    实现思路


    记住密码功能的常见实现方法有三种:
    方法一:写入本地数据库
    方法二:写入文件——txt、xml、ini
    方法三:注册表
    我们采用的方式是第二种,其找第二种方式最简单便捷,因此我们采用这种方式实现,主要思路。我们将用户的用户名和密码已键值对等方式存储在文件中,如果用户选择了记住密码,就将信息写入文件,而在窗体加载的时候,我们读取文件中的内容即可。

    用户类操作接口


    //要先将User类先设为可以序列化(即在类的前面加[Serializable])
        [Serializable] 
        public class User
        {
    
            //public User(string username, string password)
            //{
            //    this.userName = username;
            //    this.passWord = password;
            //}
    
            private string userName;
            public string Username
            {
                get { return userName; }
                set { userName = value; }
            }
    
            private string passWord;
            public string Password
            {
                get { return passWord; }
                set { passWord = value; }
            }
        }

    在窗体加载的时候,读取文件信息,并且绑定到用户名comboBox上

    private void Login_Load(object sender, EventArgs e)
            {
                //  读取配置文件寻找记住的用户名和密码
                FileStream fs = new FileStream("data.bin", FileMode.OpenOrCreate);
    
                if (fs.Length > 0)
                {
                    BinaryFormatter bf = new BinaryFormatter();
                    users = bf.Deserialize(fs) as Dictionary<string, User>;
                    foreach (User user in users.Values)
                    {
                        this.UserName.Items.Add(user.Username);
                    }
    
                    for (int i = 0; i < users.Count; i++)
                    {
                        if (this.UserName.Text != "")
                        {
                            if (users.ContainsKey(this.UserName.Text))
                            {
                                this.PassWord.Text = users[this.UserName.Text].Password;
                                this.RemeberPassword.Checked = true;
                            }
                        }
                    }
                }
                fs.Close();
                //  用户名默认选中第一个
                if (this.UserName.Items.Count > 0)
                {
                    this.UserName.SelectedIndex = this.UserName.Items.Count - 1;
                }
                //item = (List<User>)bUser.GetAll();
                //item = 
                //this.UserName.DataSource = item;
                //this.UserName.DisplayMember = "Username";
            }

    当用户选择了用户名时候,密码框中显示对应密码

     private void UserName_SelectedValueChanged(object sender, EventArgs e)
            {
                //  首先读取记住密码的配置文件
                FileStream fs = new FileStream("data.bin", FileMode.OpenOrCreate);
    
                if (fs.Length > 0)
                {
                    BinaryFormatter bf = new BinaryFormatter();
    
                    users = bf.Deserialize(fs) as Dictionary<string, User>;
    
                    for (int i = 0; i < users.Count; i++)
                    {
                        if (this.UserName.Text != "")
                        {
                            if (users.ContainsKey(UserName.Text) && users[UserName.Text].Password != "")
                            {
                                this.PassWord.Text = users[UserName.Text].Password;
                                this.RemeberPassword.Checked = true;
                            }
                            else
                            {
                                this.PassWord.Text = "";
                                this.RemeberPassword.Checked = false;
                            }
                        }
                    }
                }
    
                fs.Close();
            }

    用户点击登录时,记录密码或者用户名信息

     private async void Submit_Click(object sender, EventArgs e)                       //登陆验证
            {
                string username = this.UserName.Text.Trim();
                string password = this.PassWord.Text.Trim();
    
                User user = new User();
                FileStream fs = new FileStream("data.bin", FileMode.Create);
                BinaryFormatter bf = new BinaryFormatter();
                user.Username = username;
                if (this.RemeberPassword.Checked)       //  如果单击了记住密码的功能
                {   //  在文件中保存密码
                    user.Password = password;
                }
                else
                {   //  不在文件中保存密码
                    user.Password = "";
                }
    
                //  选在集合中是否存在用户名 
                if (users.ContainsKey(user.Username))
                {
                    users.Remove(user.Username);
                }
                users.Add(user.Username, user);
                //要先将User类先设为可以序列化(即在类的前面加[Serializable])
                bf.Serialize(fs, users);
                //user.Password = this.PassWord.Text;
                fs.Close();
    
                ///////
                ///////  这里填写登录的处理逻辑代码
                ///////
            }
    展开全文
  • 实现效果如下 实现过程 [Serializable] class User { //记住密码 private string loginID; public string LoginID { get { return loginID; } ...
  • 最近做WPF项目有一个需要记住账号密码的操作,第一反应像这种记住账号密码的应该可以保存在本地xml配置文件中,于是就去查了下别人的资料,自己加以整理学习。 WPF应用程序中有一个App.config文件,编译时会在Debug...
  • 参考网上的一些方法,实现了记住密码功能,测试效果图如下: 源码附上: public partial class FrmLogin : Form  {  private Dictionary&lt;string, User&gt; users =new Dictionary&lt;string,...
  • 学了三个月了,学的C#和.net(貌似有点坑),公司应该是让做b/s,socket和数据库比较难,暂时不怎么会,对WPF花的时间比较多一些(毕竟可视化效果看起来比价有成就感)(WPF的课程案例貌似不多,加油) 新手菜鸟,...
  • 1.登录时,勾选‘记住账号密码‘复选框,则会把用户名密码保存在客户端cookie里,保存时间为最大值(直到用户清除浏览器缓存或者取消勾选’记住账号密码‘复选框); 2.登录时,取消勾选‘记住账号密码‘复选框,会...
  • 点击登录也能校验成功,完美实现登录记住账号密码。 自动登录: 勾选上自动登录后这个界面就不会显示了,每次打开软件是直接进入了main界面。 代码: 引用: using System.Configuration; app.config &lt;ap.....
  • C#记住上次登录用户名
  • Winform实现登录窗体中记住密码的功能,如图: 代码如下: 1、窗体Form1加载: List<UserInfo> item=new List<UserInfo>(); UserInfo userInfo = new UserInfo(); BUserInfo bUserInfo = new ...
  • 在微信公众号H5页面开发中登录需要记住账号密码,可以使用LoalStorage来存储,用户重新打开微信也不会生效。 <script type="text/javascript"> $(document).ready(function () { //读取 localStage 本地...
  • [DllImport("kernel32")] private static extern int GetPrivateProfileString(string section, string key, string def, StringBuilder retvalue, int siz, string inipath); [DllImport(...
  • C#保存用户名与密码

    2014-07-18 22:32:33
    private void Form1_Load(object sender, EventArgs e) { string ServerName = Dns.GetHostName(); textBox3.Text = ServerName; sPath = Application.StartupPath +
  • 1.首先在App.config中的&...中添加以下代码,最常用的就是appSettings节点了,通过添加key和value键值对,从而完成参数的配置与读写操作,其中key是键,value是具体保存的值,在这声明了三个,分别是账号、...
  • 我们在使用QQ时可以发现无论用户是否点击记住密码只要在某一台计算机上登录都会把账号记录下来并以下拉框的形式展现。 所以采用这种思想(当然安全性和实用性并不高,只是实现这种思想):用户...
  • 登录界面如下  配置文件如下 在App.config下 写个&lt;appSettings&gt;节点 照着我的写就行了 ... Configuration cfa = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);...
  • type="password" placeholder="密码" readonly onfocus="this.removeAttribute('readonly');"/> 用js去清除input的value值是无效的,因为浏览器填充账号密码的动作是在js执行完之后发生的。
1 2 3 4 5 ... 20
收藏数 1,138
精华内容 455