急!!! 记住密码

Dream_link 2011-07-02 08:47:13
记住密码放在了cookie中,下次登录输入用户名后怎样调出cookie呢? 调出后赋值密码框,但.net 密码框默认不能加载时赋值,怎么写? 要源码啊!!!
...全文
262 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
porschev 2011-07-02
  • 打赏
  • 举报
回复

登陆页的Load事件中。。

去检查有没有XX这个cookies..

如果有。。。赋值给用户名和密码框。。

密码框的赋值有点不同。。。。

密码框的ID.TextMode = TextBoxMode.Password;
密码框的ID.Attributes.Add("value", "这里是你从cookies中读出来的");

chuzhaowei 2011-07-02
  • 打赏
  • 举报
回复
用cookie实现,挺简单的吧


var cookiesName = "ldrkgl_2011";
window.onload = function(){
if($("hf_IsLoadCookies").value != "false")
{
var cval = getCookie(cookiesName);
if(cval != null)
{
$("txt_UserID").value = cval.split("|")[0];
$("txt_PassWord").value = cval.split("|")[1];
$("cb_Savestates").checked = true;
}
}
}


//写cookies函数
function setCookie(name,value)//两个参数,一个是cookie的名子,一个是值
{
var Days = 30; //此 cookie 将被保存 30 天
var exp = new Date(); //new Date("December 31, 9998");
exp.setTime(exp.getTime() + Days*24*60*60*1000);
document.cookie = name + "="+ escape (value) + ";expires=" + exp.toGMTString();
}

function getCookie(name)//取cookies函数
{
var arr = document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)"));
if(arr != null) return unescape(arr[2]); return null;
}

function delCookie(name)//删除cookie
{
var exp = new Date();
exp.setTime(exp.getTime() - 4);
var cval=getCookie(name);
if(cval!=null) document.cookie= name + "="+cval+";expires="+exp.toGMTString();
}
wosizy 2011-07-02
  • 打赏
  • 举报
回复
一般通常情况下,都是使用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, "用户名和密码不正确");
}
}

}


还有一种就是XML方式记住密码

http://bbs.gimoo.net/thread/95621-1.html
呆子罗 2011-07-02
  • 打赏
  • 举报
回复
登陆代码,部分

protected void Page_Load(object sender, EventArgs e)
{

if (!IsPostBack)
{
ReadCookie();//执行读取cookies的方法
}

//NoCach();
}

/// <summary>
/// 读取cookies保存的密码,
/// </summary>
protected void ReadCookie()
{
string c_name = "mpcokieuse";
if (Request.Cookies[c_name] != null)//如果用户设定了保存密码,则无须再次输入密码
{
CutSub(Request.Cookies[c_name].Value);
}
}

/// <summary>
/// 给指定用户发放权限
/// </summary>
/// <param name="strValue"></param>
protected void CutSub(string strValue)
{


//去读cookies的值,查询该用户,如果用户存在,则发放权限
MuCompany company = companyManage.GetCompanyByID(strValue);

SetDom(company);
}
/// <summary>
/// 给予指定的用户发放权限
/// </summary>
protected void SetDom(MuCompany company)
{
Session["company_accounts"] = company.accounts;
Session["company_id"] = company.cid;
Session["company_huiyuan"] = company.huiyuan;
Session["company_login"] = true;
Session["user_login_time"] = DateTime.Now;
Response.Redirect("fram.aspx");//跳转到后台框架
}


----------------
实现退出
loginOut.aspx.cs

protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
DoLoginOut();
}
else
{
DoLoginOut();
}
}

//清楚cookies和session
protected void DoLoginOut()
{
string[] sesseinList = new string[]
{
"company_accounts","company_id","company_huiyuan","company_login","user_login_time"
};
foreach (string item in sesseinList)
{
Session.Remove(item);
//HttpContext.Current.Session.Remove(item);
}
Session.Clear();
Response.Cookies["mpcokieuse"].Expires=DateTime.Now.AddSeconds(-1);//设置cookies
Page.Response.Redirect("Login.aspx");
}
哒哒 2011-07-02
  • 打赏
  • 举报
回复
昨天写的一个例子,给你看看...

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class SaveCookie_Cookies : System.Web.UI.Page
{
HttpCookie UserNameCookie;
HttpCookie PassWordCookie;
protected void Page_Load(object sender, EventArgs e)
{
UserNameCookie = Request.Cookies["UserNameCookie"];
PassWordCookie = Request.Cookies["PassWordCookie"];
if (!IsPostBack)
{
if (UserNameCookie != null && PassWordCookie != null)
{
this.CheSave.Checked = true;
this.UserNameText.Text = UserNameCookie.Values["UserName"];
this.PassWordText.Text = PassWordCookie.Values["PassWord"];
}
else
{
this.CheSave.Checked = false;
this.UserNameText.Text = null;
this.PassWordText.Text = null;
}
}
}
//设置,删除Cookie
protected void setcookie()
{

if (this.CheSave.Checked)
{
//保存用户到Cookie
if (UserNameCookie == null)
{
UserNameCookie = new HttpCookie("UserNameCookie");
UserNameCookie.Values.Add("UserName", UserNameText.Text);
UserNameCookie.Expires = DateTime.Now.AddDays(30);
Response.Cookies.Add(UserNameCookie);
}
//修改用户Cookie
else if (UserNameCookie.Values["UserName"] != UserNameText.Text)
{
SetToCookie(UserNameCookie, "UserName", UserNameText.Text);
}
//保存密码到Cookie
if (PassWordCookie == null)
{
PassWordCookie = new HttpCookie("PassWordCookie");
PassWordCookie.Values.Add("PassWord", PassWordText.Text);
PassWordCookie.Expires = DateTime.Now.AddDays(30);
Response.Cookies.Add(PassWordCookie);
}
//修改密码Cookie
else if (PassWordCookie.Values["PassWord"] != PassWordText.Text)
{
SetToCookie(PassWordCookie, "PassWord", PassWordText.Text);
}
}
else
{
//从Cookie中删除用户
if (Response.Cookies["UserNameCookie"] != null)
{
HttpCookie mycookie = new HttpCookie("UserNameCookie");
mycookie.Expires = DateTime.Now.AddDays(-1d);
Response.Cookies.Add(mycookie);
}
//从Cookie中删除密码
if (Response.Cookies["PassWordCookie"] != null)
{
HttpCookie mycookie = new HttpCookie("PassWordCookie");
mycookie.Expires = DateTime.Now.AddDays(-1d);
Response.Cookies.Add(mycookie);
}

}
}

//修改Cookie的方法
protected void SetToCookie(HttpCookie httpcookie, string cookiename, string cookievalue)
{
httpcookie.Values[cookiename] = cookievalue;
httpcookie.Expires = DateTime.Now.AddDays(30);
Response.Cookies.Add(httpcookie);
}
protected void Submit_Click(object sender, EventArgs e)
{
setcookie();
if (this.UserNameText.Text.Trim() == "caojie" && this.PassWordText.Text.Trim() == "123")
{
Response.Write("登陆成功!");
}
else
{
Response.Write("登陆失败!");
}
}
}

accomp 2011-07-02
  • 打赏
  • 举报
回复
Cookies怎么存就怎么取 ,只要key一样就行。

密码赋值 text.Attributes["value"] = "123456"
text.Attributes.Add("value","123456")
呆子罗 2011-07-02
  • 打赏
  • 举报
回复
你干嘛要赋值到密码输入框呢?

你看看CSDN的登陆模式,如果你选择记住密码(保存至cookies),你再打开登陆页面,程序直接跳转到后台了,不出现登陆框了,除非你选择退出。
z405158579 2011-07-02
  • 打赏
  • 举报
回复
帮顶···
遊戲王千金 2011-07-02
  • 打赏
  • 举报
回复
Password.Attributes["value"] = Funs.GetCookie("TUserPass");


/// <summary>
/// 读cookie值
/// </summary>
/// <param name="strName">名称</param>
/// <returns>cookie值</returns>
public static string GetCookie(string strName)
{
try
{
if (HttpContext.Current.Request.Cookies != null && HttpContext.Current.Request.Cookies[strName] != null)
{
return HttpContext.Current.Request.Cookies[strName].Value.ToString();
}
return "";
}
catch (Exception)
{
return "";
}
}

记得一般cookie记密码都要加密,读出来再解密。
潮起潮落 2011-07-02
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 dream_link 的回复:]

引用 2 楼 fengyarongaa 的回复:
不是加载密码

你想想加载密码有什么用

下次登录是在load事件里面自己给判断帐号密码了直接登录 跳转到登录 后的页面和状态

不用与这些 控件赋值有关系

如果我想要用别的账号登录呢? 根本没办法到登录页面了,除非缓存过期了
[/Quote]
注销
潮起潮落 2011-07-02
  • 打赏
  • 举报
回复
不知道你的意思是不是普通网站那些“记住我”的功能。
如果是那样的话,一般是这样实现的。登陆后把用户账户密码存到cookie。
当SESSION过期以后,比如说第二天用户再登陆,网站检测SESSION,发现他没登陆。
第二步读cookie,如果cookie里有账户密码,就用cookie里面的登陆,这个过程不跳转的话,在用户看来就像是他一直保持着登陆状态一样。
Dream_link 2011-07-02
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 fengyarongaa 的回复:]
不是加载密码

你想想加载密码有什么用

下次登录是在load事件里面自己给判断帐号密码了直接登录 跳转到登录 后的页面和状态

不用与这些 控件赋值有关系
[/Quote]
如果我想要用别的账号登录呢? 根本没办法到登录页面了,除非缓存过期了
种草德鲁伊 2011-07-02
  • 打赏
  • 举报
回复
记住密码是浏览器做的事
ycproc 2011-07-02
  • 打赏
  • 举报
回复
不是加载密码

你想想加载密码有什么用

下次登录是在load事件里面自己给判断帐号密码了直接登录 跳转到登录 后的页面和状态

不用与这些 控件赋值有关系
andyleec 2011-07-02
  • 打赏
  • 举报
回复
用js,也能操作cookie的,具体怎么操作请baidu
子夜__ 2011-07-02
  • 打赏
  • 举报
回复
密码框赋值
txtpwd.TextMode = TextBoxMode.Password;
txtpwd.Text = "mypwd";

记住密码
//设置,删除Cookie
protected void set_cookie()
{
HttpCookie UserNameCookie = Request.Cookies["UserNameCookie"];
HttpCookie UserPasswordCookie = Request.Cookies["UserPasswordCookie"];

if (this.CheSave.Checked)
{
lblcookie.Text = "1";

//保存用户名和密码到cookie
if (UserNameCookie == null)
{
UserNameCookie = new HttpCookie("UserNameCookie");
UserNameCookie.Values.Add("UserName", TxtUserName.Text);
UserNameCookie.Expires = DateTime.Now.AddDays(30);
Response.Cookies.Add(UserNameCookie);

}
//修改COOKIE
else if (UserNameCookie.Values["UserName"] != TxtUserName.Text)
{
SetToCookie(UserNameCookie, "UserName", TxtUserName.Text);
}

if (UserPasswordCookie == null)
{
UserPasswordCookie = new HttpCookie("UserPasswordCookie");
string password1 = FormsAuthentication.HashPasswordForStoringInConfigFile(TxtUserPassword.Text, "MD5"); //如果重新指定用户密码,则重新加密密码
UserPasswordCookie.Values.Add("UserPassword", password1);
UserPasswordCookie.Expires = DateTime.Now.AddDays(30);
Response.Cookies.Add(UserPasswordCookie);

}
else if (UserPasswordCookie.Values["UserPassword"] != FormsAuthentication.HashPasswordForStoringInConfigFile(TxtUserPassword.Text, "MD5") && TxtUserPassword.Text != "1234567890")

//“1234567890”是程现在密码框中的十个字符。
{
SetToCookie(UserPasswordCookie, "UserPassword", FormsAuthentication.HashPasswordForStoringInConfigFile(TxtUserPassword.Text, "MD5"));
}


}
else
{
lblcookie.Text = "0";
//从cookie删除用户名和密码
if (Response.Cookies["UserNameCookie"] != null)
{
HttpCookie myCookie = new HttpCookie("UserNameCookie");
myCookie.Expires = DateTime.Now.AddDays(-1d);
Response.Cookies.Add(myCookie);
}
if (Response.Cookies["UserPasswordCookie"] != null)
{
HttpCookie myCookie = new HttpCookie("UserPasswordCookie");
myCookie.Expires = DateTime.Now.AddDays(-1d);
Response.Cookies.Add(myCookie);
}
}

}
//检查是否存在COOKie情况
public void check_cookie()
{
HttpCookie UserNameCookie = Request.Cookies["UserNameCookie"];
HttpCookie UserPasswordCookie = Request.Cookies["UserPasswordCookie"];

if (UserNameCookie != null)
{
this.CheSave.Checked = true;
TxtUserName.Text = UserNameCookie.Values["UserName"];
}

if (UserPasswordCookie != null)
{
TxtUserPassword.Attributes.Add("value", "1234567890");//设置密码框初始值
}
}
public string getpassword()
{
HttpCookie UserPasswordCookie = Request.Cookies["UserPasswordCookie"];
string strpwd = ""; //获取此密码字符串与数据库存中的密布相比。
if (lblcookie.Text == "1")
{
strpwd = UserPasswordCookie.Values["UserPassWord"];//直接获取COOKIE中的密码值
}
else
{
strpwd= FormsAuthentication.HashPasswordForStoringInConfigFile(TxtUserPassword.Text, "MD5"); //对密码进行加密
}
return strpwd; //返回密码字段
}

//修改COOKIE这段的方法
public void SetToCookie(HttpCookie httpcookie, string cookiename, string cookievalue)
{
httpcookie.Values[cookiename] = cookievalue;
httpcookie.Expires = DateTime.Now.AddDays(30);
Response.Cookies.Add(httpcookie);
}
}

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧