我在建立网站时遇到了一个非常基本的问题;该网站有10页,问题是,当我登录一次,我怎么能通过其余的页面保持登录?
答案 0 :(得分:1)
由于这个问题包含asp.net和sesion变量的标签,我不确定你缺少什么。
登录表单:
if (authentaionSuceeded){
HttpContext.Current.Session["loggedin"]="yes";
}
在所有其他页面上(退出除外)
if (HttpContext.Current.Session["loggedin"]=="yes"){
// whatever you do for logged in users.
}
这是基本的想法。虽然我更喜欢通过extension method/class that provides a type safety and a list of all session variables访问会话变量。答案中的例子是VB,但你可以在c#中做同样的事情。
答案 1 :(得分:-1)
有一些可能的解决方案如下:
在每个选项中,您需要在服务器端生成会话密钥(某些加密的唯一密钥),并且在后续请求中,您应该能够验证该会话密钥。最好在每个请求上重新生成一个新的会话密钥,并在一定的时间间隔后使其到期。因此,对于活跃用户,它将继续获取新密钥,但非活动用户会话将会过期。