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.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判断了~应该是没有的。