自动登录、记住我(保存登陆状态)实现
2014-03-31 23:28
495 查看
自动登录、记住我(保存登陆状态)实现:
保存在客户端
不能用session,可以用cookies保存
实现方式:
第一种方法:
可以把SessionId(GUID)放到cookies中,但
这样为了让用户下次访问我们网站时,知道这
个sessionId对应的是哪一个用户,我们还要在
数据库中建张表。
表字段:
主键,UserId SessionId 时间
缺点:不能在两台机器上同时保存
第二种方法:
把UserId放cookies中 密码(加密)
相对于第一种方法优点:多台机器可以保存
缺点:不安全,密码放到了客户端。
第二种方法实现代码:
页面加载读取Cookie判断,正确写入Session,转向
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
if (Request.Cookies["cUser"] != null && Request.Cookies["cPwd"] != null)
{
string cUser = Request.Cookies["cUser"].Value;
string cPwd = Request.Cookies["cPwd"].Value;
string sqlPwd = "";
BookShop.Model.User oneUser = bll.Exists(cUser);
if (oneUser != null)
{
#region MyRegion
//说明存在cUser
if (cPwd.Length > 2)//防止用户修改Cookie中的密码报错
{
string salt = cPwd.Substring(0, 2);
sqlPwd = oneUser.LoginPwd;
sqlPwd = Encrypt(sqlPwd, salt);
if (cPwd == sqlPwd)
{
//保存Session状态
Session["user"] = oneUser;
//转向
#region MyRegion
if (Request.QueryString["returnUrl"] == null)
保存在客户端
不能用session,可以用cookies保存
实现方式:
第一种方法:
可以把SessionId(GUID)放到cookies中,但
这样为了让用户下次访问我们网站时,知道这
个sessionId对应的是哪一个用户,我们还要在
数据库中建张表。
表字段:
主键,UserId SessionId 时间
缺点:不能在两台机器上同时保存
第二种方法:
把UserId放cookies中 密码(加密)
相对于第一种方法优点:多台机器可以保存
缺点:不安全,密码放到了客户端。
第二种方法实现代码:
页面加载读取Cookie判断,正确写入Session,转向
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
if (Request.Cookies["cUser"] != null && Request.Cookies["cPwd"] != null)
{
string cUser = Request.Cookies["cUser"].Value;
string cPwd = Request.Cookies["cPwd"].Value;
string sqlPwd = "";
BookShop.Model.User oneUser = bll.Exists(cUser);
if (oneUser != null)
{
#region MyRegion
//说明存在cUser
if (cPwd.Length > 2)//防止用户修改Cookie中的密码报错
{
string salt = cPwd.Substring(0, 2);
sqlPwd = oneUser.LoginPwd;
sqlPwd = Encrypt(sqlPwd, salt);
if (cPwd == sqlPwd)
{
//保存Session状态
Session["user"] = oneUser;
//转向
#region MyRegion
if (Request.QueryString["returnUrl"] == null)
相关文章推荐
- 原创思考 NSUserDefaults实现自动登录--保存账号和密码--记住登录状态
- 用户登录记住密码功能(记住登陆状态),下次不需要重新登录,注意安全问题!实现原理
- 安卓Shareprefrence实现记住密码自动登录以及保存在shareprefrence里面数据如何加密解密
- 安卓登陆框记住密码和自动登录的实现
- 安卓登陆矿记住密码和自动登录的实现
- 安卓登陆框记住密码和自动登录的实现
- 安卓登陆框记住密码和自动登录的实现
- android基础-利用SharedPreferences实现用户记住密码和自动登录
- 利用JQuery记住用户名及密码以实现自动登录
- 在jsp中怎么实现登录后自动跳转到登陆前浏览页面
- php中实现记住密码下次自动登录的例子
- 自动登录,记住密码功能实现
- 如何实现 linux 在 命令行模式(init 3)状态下不用输入用户名自动登陆
- session、cookie与“记住我的登录状态”的功能的实现
- 使用SharedPreferences来实现记住密码和自动登陆
- mstsc保存用户名和密码,实现自动登录远程桌面
- Servlet--保存cookie实现保存用户登录状态
- session、cookie与“记住我的登录状态”的功能的实现
- 使用SQL Server保存Session状态,实现单点登录