关于在Spring过滤器中修改request的参数值遇到的问题(一)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/baidu_29092471/article/details/73555199

关于在Spring过滤器中修改request的参数值遇到的问题

  1. 背景
    项目上要对前台传输到后台的数据进行加密(二级等保什么的),于是想到前台使用JS进行RSA加密,后台解密。于是在Spring中添加过滤器,来解密request中传过来的参数值。

  2. 问题描述
    前台登录表单数据使用JS加密后,用jquery方法$.post()提交,后台登录成功,但是页面不跳转登录成功页面。这时如果在地址栏输入登录成功后的URL链接,是可以访问的(说明是真的认证登录成功了),debug控制台看到:重新载入页面以获取源代码 …….(一串登录成功后重定向的地址)

  3. 问题分析
    好吧,承认自己太嫩了,一个很平常的问题,却被自己忽视了:form表单的提交,和ajax的提交是不一样的。之前登录js是直接$(form).submit()。form表单提交是会刷新页面的,而ajax是什么啊,人家叫做“异步JavaScript和XML”,Asynchronous Javascript And XML,就尼玛是为了不刷新页面也能动态加载数据的。你发起一个ajax请求结果服务器响应一个重定向,这个cp不起来啊。

  4. 解决方案
    果断,再次使用form表单提交,解决问题。这里为了用户体验性,不把加密后的一大串字符显示在页面上,clone了一个表单对象,然后加密,提交都是用这个clone的表单对象。(注意这个表单对象一定要append到这个页面上,否则还是不会刷新当前页面的)

猜你喜欢

转载自blog.csdn.net/baidu_29092471/article/details/73555199
今日推荐