开发遇到的问题---【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>
愿你走出半生,归来仍是少年!
原文地址:https://www.cnblogs.com/hujunwei/p/11253050.html