内容简介:这篇文章主要介绍了ssm项目session使用及其作用域问题,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
这两天由于自己在前端用到ajax发起异步更新请求,发现ajax会暴露后端的接口地址,这个问题当然是避免不了的啦,前端都是明文。可怜于是就在百度、谷歌、QQ群里各种查询各种提问题,都说只能通过安全验证去解决问题,作为新手第一个选择的当然是session啦,网上还有token验证、shrio框架等,有兴趣的朋友可以网上搜寻教程学习。
session是存在服务器的一种缓存机制,可以验证用户是否已经登录过了。我把自己学到的写上来,可以让新手少走弯曲路,直接上代码~
第一、在SSM的登录接口参数里需要加入 HttpServletRequest request
请求,用来获取请求携带的session
第二、登录接口内代码进行session设置,HttpSession session = request.getSession(true);
//这句是获取session,true是表示如果没有则新建一个session,可以不用填
session.setAttribute("logined","success");
//这句话是写入一个标识,你也可以把登录的账号设置在session里面,防止发起修改请求时恶意篡改另一个帐号的资料。
第三、如何在接口验证呢?同样需要带HttpServletRequest request参数请求用于获取客户端发起http请求所携带的session,HttpSession session = request.getSession(); session.getAttribute("logined")
则读取是否有logined这个key,如果没有说明没有登录过,就不给请求内容,直接返回信息提醒用户登录。
ssm项目session作用域问题
描述:用户登录系统成功后把该用户的相关信息放进一个session域中方便调用,并取名为xx,
当用户登录进入此系统之后要修改个人信息,修改完之后,将用户在前台页面修改后的个人信息重新塞到这个session域中,覆盖之前的session,这样用户当再次登录时或者查看时就是他修改之后的信息。
分析:当用户修改完个人信息之后想要再修改个人登录密码(修改个人信息和修改个人密码不在同一页面),此时就会提示输入的旧密码错误,因为修改个人信息的时候并没有个人密码,也就是在用户修改完将自己的信息塞进session的时候,个人密码封装进去的就是空值了,此时就取不到用户登录的真正密码。
解决办法:若想实现修改完个人信息之后顺利的修改个人密码,就要在修改个人信息的页面加上一个用户密码的隐藏域。这样个人登录密码也会随着用户修改的信息封装进对象,呗=被塞进session域中,这样可以在修改密码时调用session域中的内推,密码就不会为空了。
以上所述就是小编给大家介绍的《ssm项目session使用及其作用域问题》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- 记一次递归在我项目中所发挥的作用
- Web3基金会资助的100个项目各自发挥什么作用?
- 图解词法作用域与作用域链
- javascript作用域之块级作用域
- javascript静态作用域和动态作用域
- JavaScript系列之作用域和作用域链
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
大型网站技术架构
李智慧 / 电子工业出版社 / 2013-9-1 / 59.00元
《大型网站技术架构:核心原理与案例分析》通过梳理大型网站技术发展历程,剖析大型网站技术架构模式,深入讲述大型互联网架构设计的核心原理,并通过一组典型网站技术架构设计案例,为读者呈现一幅包括技术选型、架构设计、性能优化、Web 安全、系统发布、运维监控等在内的大型网站开发全景视图。 《大型网站技术架构:核心原理与案例分析》不仅适用于指导网站工程师、架构师进行网站技术架构设计,也可用于指导产品经......一起来看看 《大型网站技术架构》 这本书的介绍吧!