Bootstrap模态登录spring mvc

时间:2017-02-21 12:27:29

标签: spring-mvc bootstrap-modal

我正在制作一个弹簧mvc,我想使用bootstrap模式登录,但我无法让它工作

这是我的模态

<!--    Modal Login-->
    <div class="modal fade" id="login" role="dialog" aria-labelledby="confirmDeleteLabel" aria-hidden="true">
        <div class="modal-dialog">
            <div class="modal-content">
                <div class="modal-header modal-header-success">
                    <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
                    <h3><i class="fa fa-sign-in"></i> Dados de Login</h3>
                </div>
                <div class="modal-body">
                    <div class="container-fluid">
                        <div class="col-md-12">
                            <form id="loginForm" method="post">
                                <div class="form-group">
                                    <label class="control-label">Email</label>
                                    <input type="text" class="form-control" name="email" id="email"/>
                                </div>
                                <div class="form-group">
                                    <label class="control-label">Password</label>
                                    <input type="password" class="form-control" name="password" id="password"/>
                                </div>
                                <div class="checkbox">
                                    <label><input type="checkbox" value="" checked>Lembrar-me</label>
                                </div>
                                <div class="form-group">
                                    <a data-dismiss="modal" data-toggle="modal" href="#myModalPassReset">Password Esquecida?</a>
                                </div>
                                <input type="hidden" name="${_csrf.parameterName}"  value="${_csrf.token}" />
                                <div class="modal-footer">
                                    <button type="submit" name="btn-login" class="btn btn-success">Validar</button>
                                    <button type="button" class="btn btn-default" data-dismiss="modal">Cancelar</button>
                                </div>
                            </form>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>
    <script>
        $(document).ready(function () {
            $('#loginForm').formValidation({
                framework: 'bootstrap',
                icon: {
                    valid: 'glyphicon glyphicon-ok',
                    invalid: 'glyphicon glyphicon-remove',
                    validating: 'glyphicon glyphicon-refresh'
                },
                fields: {
                    email: {
                        validators: {
                            notEmpty: {
                                message: 'Campo Obrigatório'
                            },
                            regexp: {
                                regexp: '^[^@\\s]+@([^@\\s]+\\.)+[^@\\s]+$',
                                message: 'Email Inválido'
                            }
                        }
                    },
                    pass: {
                        validators: {
                            notEmpty: {
                                message: 'Campo Obrigatório'
                            },
                            stringLength: {
                                min: 2,
                                max: 60,
                                message: 'Este campo não pode ter menos de 2 e mais de 60 carateres'
                            }
                        }
                    }
                }
            }).on('success.form.fv', function (e) {
                console.log("Sucess");
                e.preventDefault();
                var $form = $(e.target),
                        fv = $form.data('formValidation');
                $.ajax({
                    url: '${pageContext.request.contextPath}/login',
                    type: 'POST',
                    data: $form.serialize(),
                    dataType : 'json',
                    timeout : 100000,
                    success : function(result) {
                        var result = data.status;
                        console.log(result);
                    }      
                });
            });
        });
    </script>

和我的控制器

 //Início do Login
@ResponseBody
@RequestMapping(value = "/login", method = RequestMethod.POST)
public String loginPage() {
    if (isCurrentAuthenticationAnonymous()) {
        return "index";
    } else {
        return "redirect:/list";
    }
}

 private String getPrincipal() {
    String userName = null;
    Object principal = SecurityContextHolder.getContext().getAuthentication().getPrincipal();

    if (principal instanceof UserDetails) {
        userName = ((UserDetails) principal).getUsername();
    } else {
        userName = principal.toString();
    }
    return userName;
}

 private boolean isCurrentAuthenticationAnonymous() {
    final Authentication authentication = SecurityContextHolder.getContext().getAuthentication();
    return authenticationTrustResolver.isAnonymous(authentication);
}

问题是我从来没有成功登录 在输入我的详细信息之后使用调试器,调试器将转到此函数

 private boolean isCurrentAuthenticationAnonymous() {
    final Authentication authentication = SecurityContextHolder.getContext().getAuthentication();
    return authenticationTrustResolver.isAnonymous(authentication);
}

并返回“anonymouusUser 所以有些事情是错的,但我看不出有什么......任何帮助?

0 个答案:

没有答案