用MC替代session维持登录状态

使用session作为用户标识实现登录,不适用分布式环境。分布式环境下,通常采用cookie+缓存的方式维持登录状态。
具体做法:
1、用户输入账号密码进行登录验证
2、验证通过后,在cookie里写入一个随机字符串;同时,以该字符串为key,在mc中保存对应用户登录票(代替session)
3、登录后才能看见的页面在struts2或者springMvc中配置拦截器,拦截器中读取cookie对应的用户登录票。如果登录票存在,则延长缓存时间,如果登录票不存在,则跳到登录界面
注意事项:
为了防止cookie劫持,通常有两种做法
1、在写入cookie时,在http头加上httponly
2、登录票的key可以加入IP信息,这样就算黑客劫持了该cookie,也无法伪造用户的登录状态

没有更多推荐了,返回首页