流水帐记到现在,系统基本完成,不过还有几点需要解决。

  首先,我们来添加一个“记住我”的功能。当用户登录的时候,如果选择了“Remember Me”,那么就同时把用户名密码等信息保存到用户的cookie中,用户访问时,先检测cookie,如果cookie中有保存的信息,则验证此信息,如果验证通过,则建立相应的session,否则导向Login页面。

  先在SysUser中建立序列化和反序列化的两个函数:

public static string SerializeToString(string name, string password)
{
    var s 
= string.Format("{0}\n{1}", name, password);
    var bs 
= Encoding.UTF8.GetBytes(s);
    
return Base32StringCoding.Decode(bs);
}

public static SysUser DeserializeFromString(string source)
{
    var bs 
= Base32StringCoding.Encode(source);
    var s 
= Encoding.UTF8.GetString(bs);
    var ss 
= s.Split('\n');
    
if (ss.Length == 2)
    {
        
return GetUserForLogin(ss[0], ss[1]);
    }
    
return null;
}

相关文章: