Spring安全默认登录页面代码位于何处?

时间:2016-02-22 15:25:32

标签: java spring-security

使用最简单的配置时, Spring Security 4 中生成的默认登录页面在哪里?

<http>
...
    <form-login/>
</http>

我正在使用此basic sample web application for Spring Security

与此问题Where is the default login page for the spring security core plugin?几乎相同,但对于Java。

2 个答案:

答案 0 :(得分:9)

它是从此课程org.springframework.security.web.authentication.ui.DefaultLoginPageGeneratingFilter生成的:

private String generateLoginPageHtml(HttpServletRequest request, boolean loginError, boolean logoutSuccess) {
    String errorMsg = "none";

    [...]

    StringBuilder sb = new StringBuilder();

    sb.append("<html><head><title>Login Page</title></head>");

    if (formLoginEnabled) {
        sb.append("<body onload='document.f.").append(usernameParameter).append(".focus();'>\n");
    }

    [...]

答案 1 :(得分:2)

在用户未配置登录页面的情况下,

DefaultLoginPageGeneratingFilter将用于生成默认表单。它有一个私有generateLoginPageHtml负责生成默认的html视图。