以前总是用web.config配置,现在我没有在web.config配置身份验证的配置,保持默认的配置。
我现在登录是自己写代码,用户登录时用户名存在Session变量中,然后在需要登录的页面检查Session是否为空,
这种方法好吗,或者给我提供一个更好的解决方案(前提是不要用web.config配置)
我还加了个checkbox,实现自动登录听说可以用cookie实现自动登录,我不知道怎么写,cookie是不是有安全问题,怎么样加密?public void CheckLogin()
{
if (Session["UserId"] == null)
{
Response.Redirect("/Login.aspx");
Response.End();
}
}
我现在登录是自己写代码,用户登录时用户名存在Session变量中,然后在需要登录的页面检查Session是否为空,
这种方法好吗,或者给我提供一个更好的解决方案(前提是不要用web.config配置)
我还加了个checkbox,实现自动登录听说可以用cookie实现自动登录,我不知道怎么写,cookie是不是有安全问题,怎么样加密?public void CheckLogin()
{
if (Session["UserId"] == null)
{
Response.Redirect("/Login.aspx");
Response.End();
}
}
用Cookie,也得有第一次登录,在客户端写下Cookie,以便下次访问时,不用再次登录(从Cookie中读用户名),这得让客户端开放Cookie功能才行。
Cookie用法:
第一次登录时
用户填写UID,验证成功,Respone.Cookie.Add(new Cookie("UID",UID));
第二次登录时:
string UID = Request.Cookie["UID"];
protected void btnLogin_Click(object sender, System.EventArgs e)
{
if (uibl.CheckUser(txtUserName.text,txtPwd.text))
{
Session["User_Name"] = txtUserName.text;
if (chkRememberMe.Checked)
{
//这里cookie怎么写,还要加密
}
Response.Redirect("/Default.aspx");
}
else
{
//用户名或密码错误
}
}其它需要登录才能看的页面用这个公共方法验证,怎么写
public void CheckLogin()
{
}
我是菜鸟,请把代码写给我
前提是不要用web.config配置
把用户id和密码(随机生成的密码)保存在cookie中。
登录的时候,先判断cookie是否存在,并检查数据有效性。然后登陆成功,如果没有cookie,就提示用户输入用户名和密码。
就按你的思路,这样写:
//这里cookie怎么写,还要加密 Respone.Cookie.Add(new Cookie("User_Name",(加密)txtUserName.text)); public void CheckLogin()
{
先判断是否有Session
if(Session["User_Name"]==null || Session["User_Name"]=="")
{
再判断是否有Cookie
if(Request.Cookie["User_Name"]!=null &&Request.Cookie["User_Name"]!="")
{
Session["User_Name"] = (解密)Request.Cookie["User_Name"];
}
else
{
//即没Sessoin,又没Cookie 转到登录页
Response.ReDriect("Login.aspx")
}
}
}
----------------------------------
如何楼主不想每个页都写CheckLogin()方法(有时网站页面太多了,每个页面都写CheckLogin(),也是很麻烦的)
你可以用IHttpModel接口,可以看看这方面资料
有yaya工作室怎么写,指点下
用cookies才能实现自动登入,写入cookies楼上的哥们都写了,可是要自动登入,还需要个条件---时间,COOKIES的保存时间
Response.Cookies("..").Expires=想要保存的时间