开发遇到的问题---【spring-security权限控制框架】
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>
愿你走出半生,归来仍是少年!
浙公网安备 33010602011771号