Asp.net 确定用户是登录还是注销
大家好。我是一名四年级的大学生,我是asp的新手,我目前正在为我的OJT开发一个网站。我已经为我的网站创建了一个登录表单,现在我对如何使用这个表单感到困惑。我需要确定用户是否已登录或注销。。 当用户输入准确的用户名和密码时,它将转到这一行代码,如果用户已注销或未注销,将在其中显示身份Asp.net 确定用户是登录还是注销,asp.net,cookies,login,Asp.net,Cookies,Login,大家好。我是一名四年级的大学生,我是asp的新手,我目前正在为我的OJT开发一个网站。我已经为我的网站创建了一个登录表单,现在我对如何使用这个表单感到困惑。我需要确定用户是否已登录或注销。。 当用户输入准确的用户名和密码时,它将转到这一行代码,如果用户已注销或未注销,将在其中显示身份 HttpCookie cookie = new HttpCookie("isLog"); cookie.Value = "1"; DateTime dtNow = Date
HttpCookie cookie = new HttpCookie("isLog");
cookie.Value = "1";
DateTime dtNow = DateTime.Now;
TimeSpan tsMinute = new TimeSpan(1, 1, 0, 0);
cookie.Expires = dtNow + tsMinute;
Response.Cookies.Add(cookie);
Response.Redirect("manageService.aspx");
我有这个功能来确定用户是否已经登录或注销
protected Boolean isLog()
{
//String strCookieName = Request.QueryString["cookie"].ToString();
//Grab the cookie
HttpCookie cookie = Request.Cookies["isLog"];
String tmp = cookie.Value.ToString();
return (tmp != null);
}
现在,我的问题是,即使我在重新加载页面后输入了正确的用户名和密码,它仍然会要求输入用户名和密码(将我发送到登录页面)。我已经为“isLog”cookie设置了一个值,但它仍然返回错误的信息。
请在这件事上启发我。。非常感谢你
非常感谢您的帮助
-nonon问题是,当您获取cookie的值时
cookie.Value.ToString()
您总是得到一个字符串引用,所以tmp永远不会为空
您应该做的是返回(tmp==“1”)
.Value
是一个字符串属性(它返回一个字符串),因此您也不必使用.ToString()来处理它
还要注意,如果cookie不存在,Request.Cookies[“COOKIETHATDOESNTEXIST”]将不会引发异常。但是,对不存在的属性调用.Value属性将引发异常
请先尝试检查null,或者只需执行以下操作:
HttpCookie cookie = Request.Cookies["isLog"];
bool isLoggedIn = false;
if(cookie != null && cookie.Value == "1")
{
isLoggedIn = true;
}
return isLoggedIn;
你为什么不使用内置的会员资格?然后它就像
User.Identity.IsAuthenticated
Gotcha一样简单!谢谢你,屠夫。:-)酷np!如果答案正确,只需单击此问题旁边的勾号