1.当控制台出现报错信息:Bad credentials的时候,是密码出问题了,查看密码,并核对。
2.form表单提交数据的时候,默认提交的formdata是键值对形式a=1&b=1
3.在spring-securit.xml中配置自定义登录的时候,如果前端传来的不是username,password,这时候就要加上下面红色部分才能接收数据,因为内部采用的是@requestParameter(“username”)接收的,前后名称必须一致。因此,前端不能采用vue中的axios的post提交,此提交把数据封装成json对象,@requestParameter(“username”)接收不到,所以这里采用的是黑马工具箱。
<!--自定义登录配置--> <security:form-login login-page="http://localhost:8080/pages/login.html" username-parameter="user" password-parameter="pass" login-processing-url="/sec/login.do" authentication-failure-forward-url="/user/loginFail.do" authentication-success-forward-url="/user/loginSuccess.do"/>
security内部定义了一个控制器,用来接收登录时的请求,要与下面ajax的路径一致,才能正确跳到自定义登录界面
HM.ajax("/sec/login.do",params,function(data){ console.log(data); if(data.flag){ location.href="main.html"; }else{ vue.$message.error(data.message); } });
4.当前端能响应回数据,却无法正常跳转页面的时候,服务器异常的时候,优先考虑跨域问题,在spring-mvc中加上下面的代码即可解决
<!--支持跨域--> <mvc:cors> <mvc:mapping path="/**" allowed-origins="http://localhost:8080" allowed-methods="GET,PUT,OPTIONS,POST,DELETE" //option一定不要忘写 allow-credentials="true" max-age="3600"/> </mvc:cors>