spring security loadUserByUsername(String userName) userName为空解决

解决spring security 整合到spring boot中,UserDetailsService接口的loadUserByUsername方法参数username输入为空问题。

一  检查参数名是否与页面传递的一致

//...其他代码
        http.formLogin()
            .usernameParameter("account")
            .passwordParameter("password")
//...其他代码

注意这里的参数名称与界面的参数名称一致
 

二 检查提交方式是否为表单

spring security 像上面的配置,传递参数必须是POST的表单方式,如果是ajax请求需要注意参数类型

表单提交
表单提交

参考:

function ajaxPostFormJSON(url,params,successCallback,failCallback) {
    $.ajax({
        type:'post',
        url:url,
        data:params,
        dataType:'json',
        contentType:'application/x-www-form-urlencoded',
        success:function (res) {
            if (res.code == 200){
                successCallback(res.data);
            } else{
                if (failCallback){
                    failCallback(res.message,res.code);
                }else{
                    if (res.code==401){
                        alert(res.message,{icon:5});
                        setTimeout(function (){
                            top.window.location.href="/oauth/authorize";
                        },1500)
                        return false;
                    }
                    alert(res.message,{icon:5});
                }
            }

        }
    })
}

原创文章,作者:506227337,如若转载,请注明出处:https://blog.ytso.com/243590.html

(0)
上一篇 2022年4月11日
下一篇 2022年4月11日

相关推荐

发表回复

登录后才能评论