我有个登陆界面如下图我想实现的功能是:如果用户登陆成功后将用户名存放到session以便其他页面的访问!不是存放密码哦!
我刚学ASP.NET
对session这个不怎么明白!在网上看了些文章!还是不知道怎么弄!
web.config里面的配置文件应该怎么写啊?
在这个登录页面的cs代码里应该怎么写啊?
请高手指教!
我刚学ASP.NET
对session这个不怎么明白!在网上看了些文章!还是不知道怎么弄!
web.config里面的配置文件应该怎么写啊?
在这个登录页面的cs代码里应该怎么写啊?
请高手指教!
获取 string s=Session["UserId"].ToString();
Session配置
session最终的形式是客服端保存一个sessinID放在cookie中
然后在利用sessionid连接服务器的session数据
Session[“UserName”] = "LoginName";在其他页面Page_Load中判断,if(Session["UserName"] == null) 则跳转到登录页面用户登出 Session["UserName"] = null;
那请问配置文件应该怎么写啊?
我的配置文件里没有<sessionState >
Session["userName"]=用户名文本框.Text;
然后根据选择的保存天数,设置cookie,用
HttpCookie myCookie=new HttpCookie(用户名,密码);
Response.Cookies.Add(myCookie);
Response.Cookies[用户名].Expires=DateTime.Now.AddDays(14);//设置14天后过期
string s = Session["VNumer"].ToString();
<system.web>
<sessionState mode="InProc" timeout="60"/>
</system.web>
这里设置Session过期时间60分钟
timeout的单位好像是分钟吧,我忘了,你可以百度查下。
注意Session过期时间同Cookie过期时间是两个不同的概念。
看不出哪里需要Session。cookie和session其实都存在硬盘的临时文件里的。只不过cookie的过期设置可以在写入cookie值的时候指定。
而session的过期值一般是在webconfig文件中配置好(默认20分)。
这个userName是指的什么啊?
文本框控件的名字吗?
现在只是做个样子的!
在cs的代码中,怎么将用户名文本框的值存放到session中啊
以后要用的时候:
if(session["UserName"]!=null)
{
string userName=session["UserName"].ToString();
}
Response.Cookies["4321"]["password"] = x.GetMD512(userName + passWord);
//为了安全性不要把密码直接明文保存,自己写个方法加密下
//验证的时候再把数据库里的内容加密下判断即可 cookies是可欺骗的,注意sql注入问题
Response.Cookies["4321"].Expires = DateTime.Now.AddDays(1);
//AddDays(1)即有效期为1天,以此类推
以后直接拿来用就行,例如 textbox1.text=session["user"].ToString();
至于保存多久这个有一个过期时间的设置,默认好像是20min,你可以设置,单位是毫秒。
获取 string s=Session["UserId"].ToString();
Session配置
就是这样的,很多人即便会用session,也不知道,session在客户端cookie里面也有的,我以前也是这样,直到用了httpwatch后才知道的。
它是保存在服务器段的,在你本地也会有相应的sessionid的cookie保存下来。
它是保持页面间传递数据的方法,当然你也可以通过get/post/cookie等方法来传递数据。
但是session的优势是安全,缺点是占服务器内存,容易丢失(怕丢失可以用sessionstate来保存session),它的默认生命是20分钟,当然你一旦关闭了浏览器,session就没了。
HttpCookie myCookie=new HttpCookie(用户名,密码);
Response.Cookies.Add(myCookie);
Response.Cookies[用户名].Expires=DateTime.Now.AddDays(14);//设置14天后过期