`
海盗大哥
  • 浏览: 63720 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

session与cookie的管理[个人总结]

阅读更多

1:当只有一种用户时:
1.1 :过滤器
    原则一:session中有用户信息时,程序不去判断cookie 直接调用doFilter方法并return
    原则二:session中没有用户信息,
程序判段cookie,
    有cookie时,验证cookie
验证错误直接调用doFilter方法并return
        验证正确,从新放入cookie(用于保证cookie的时间为最新的),并将用户信息放入session中
    没有cookie时:直接调用doFilter方法并return
1.2:login页面
    原则一:session中有用户信息
此次登入信息正确,刷新session放入该次用户信息
~~错误,返回登入页 提示用户,登入错误
            session有没有用户信息
此次登入信息正确,刷新session放入该次用户信息
~~错误,返回登入页 提示用户,登入错误
    原则二:用户设置了记住登入
此次登入信息正确,刷新session放入该次用户信息,生成用户信息的cookie
~~错误,返回登入页 提示用户,登入错误

2:当有多种用户时:
   A:原则:session中只能放一种类型的用户;cookie也只能生成一个
2.1 :过滤器
    原则一:session中有用户信息时,程序不去判断cookie 直接调用doFilter方法并return
    原则二:session中没有用户信息,
程序判段cookie<这里要考虑原则A,故cookie只有一个>
    有cookie时,验证cookie
验证错误直接调用doFilter方法并return
        验证正确,从新放入cookie(用于保证cookie的时间为最新的),并将用户信息放入session中
    没有cookie时:直接调用doFilter方法并return
2.2:登入
    原则一:session中有用户信息
用一种类型用户登入
此次登入信息正确,刷新session放入该次用户信息
~~错误,返回登入页 提示用户,登入错误
不同类型用户登入
返回页面提示:用户已经登入,要登入其它类型的用,请注销后再登入
            session没有用户信息
实事上,程序到了这一部已经通过了过滤器,session中没有用户信息则说明cookie不存在,或者存在的cookie是错误的,所有接下来的步骤是:
a:此次登入信息正确,刷新session放入该次用户信息
b:~~错误,返回登入页 提示用户,登入错误
    原则二:用户设置了记住登入
此次登入信息正确,刷新session放入该次用户信息,生成用户信息的cookie
~~错误,返回登入页 提示用户,登入错误

要注意的几点:
a:登入时就需要严格限制cookie只有一个,session中只放一种用户类型的信息
b:修改密码修改成功,如果cookie存在,务必要刷新cookie(这种情况也是针对建密码也放入cookie时)
c:考虑到cookie有被修改的可能,咋办:考虑到b点(上面一点了),这时验证 正确就不管他了~错误时,可考虑将cookie删去,但是不应该乱删用户的信息,尽管他已经更改过了~
    ,尽管它是错误的,那么这时要考虑的就是,在登入时会不会有问题,这是没有问题的因为,这里并没有操作session了,
还要考虑的一点事,在登入时判断是否同种类型用户时,需不需要添加cookie判断了~应该是没有的。
1
0
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics