为了防止用户多次登录,想通过一个在会话期间存在的Cookie值log来实现。首次登录时将该Cookie的值设为"Yes". 在登录首页中通过判断客户端Cookie中是否有log的值,且值是否为"Yes"来判断用户是否已经登录,是则转去登录后的首页,否则要求用户输入用户名与密码。
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
HttpCookie ck= Request.Cookies["log"];
if (ck != null && ck.Value.Equals("Yes"))
{
Response.Redirect(要转去的页面的URL);
}
}
Session.Clear();
txtUser.Focus();
} 首次登录后保存Cookie的程序段: Response.Cookies["log"].Value = "Yes"; //设置已登录标志
//Response.Cookies["log"].Expires = DateTime.Now.AddDays(1); 若将保存时的有效期设置语句加上,则Cookie可以保存,但是不加时间的话,按资料上说应该在会话存续期间都是有效的,可是为什么不能保存呢?开始怀疑是IE的设置问题,可是将Internet选项->隐私->高级中选中覆盖,并接受所有的Cookie,且允许会话Cookie,之后重启了IE,但是依然无效。
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
HttpCookie ck= Request.Cookies["log"];
if (ck != null && ck.Value.Equals("Yes"))
{
Response.Redirect(要转去的页面的URL);
}
}
Session.Clear();
txtUser.Focus();
} 首次登录后保存Cookie的程序段: Response.Cookies["log"].Value = "Yes"; //设置已登录标志
//Response.Cookies["log"].Expires = DateTime.Now.AddDays(1); 若将保存时的有效期设置语句加上,则Cookie可以保存,但是不加时间的话,按资料上说应该在会话存续期间都是有效的,可是为什么不能保存呢?开始怀疑是IE的设置问题,可是将Internet选项->隐私->高级中选中覆盖,并接受所有的Cookie,且允许会话Cookie,之后重启了IE,但是依然无效。
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货