内容简介:这篇文章主要介绍了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系列之作用域和作用域链
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
UML用户指南
[美] Grady Booch、James Rumbaugh、Ivar Jacobson / 邵维忠、麻志毅、马浩海、刘辉 / 人民邮电出版社 / 2006-6 / 49.00元
《UML用户指南》(第2版)是UML方面最权威的一本著作,三位作者是面向对象方法最早的倡导者,是UML的创始人。本版涵盖了UML 2.0。书中为具体的UML特征提供了参考,描述了一个使用UML进行开发的过程,旨在让读者掌握UML的术语、规则和语言特点,以及如何有效地使用这种语言,知道如何应用UML去解决一些常见的建模问题。《UML用户指南》(第2版)由7个部分组成,而且每章都描述了一个特定UML特......一起来看看 《UML用户指南》 这本书的介绍吧!