Использование пользовательских CSS для страницы входа - PullRequest
1 голос
/ 01 июля 2019

Я использую весеннюю загрузку для создания сайта.Я хотел бы использовать свою собственную страницу входа и стилизовать ее с помощью CSS.Однако CSS не связывается со свойством HTML-страницы (powered by thymleaf).

Основываясь на определенном CSS, я ожидаю получить красный цвет фона для страницы входа, но этого не происходит.Более того, когда вход в систему проходит успешно, вместо перенаправления на index.html, он показывает мне style.css

Я действительно ценю, если кто-то может помочь мне выяснить, как правильно связать файл css сhtml файл

класс контроллера:

@Controller
public class ControllerManager {

    @GetMapping("/login")
    public String login(){
        return "login";
    }

    @GetMapping(value = {"/",""} )
    public String homePage(){
        return "index";
    }
}

класс конфигурации:

@Configuration
public class ConfigManager extends WebSecurityConfigurerAdapter {


    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http
                .authorizeRequests()
                    .anyRequest()
                    .fullyAuthenticated()
                    .and()
                .formLogin()
                    .loginPage("/login")
                    .permitAll();
    }
}

файл login.html

<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title>Please Login</title>

    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css"
      integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">

    <link rel="stylesheet" type="text/css" media="all" th:href="@{/css/style.css}"/>
</head>
<body>
<div>
    <div class="container">
        <form name="f" th:action="@{/login}" method="post">
            <fieldset>
                <legend>Please Login</legend>
                <div th:if="${param.error}" class="alert alert-error">
                Invalid username and password.
                </div>
                <div th:if="${param.logout}" class="alert alert-success">
                You have been logged out.
                </div>
                <label for="username">Username</label>
                <input type="text" id="username" name="username"/>
                <label for="password">Password</label>
                <input type="password" id="password" name="password"/>
                <div class="form-actions">
                    <button type="submit" class="btn btn-primary">Log in</button>
                </div>
            </fieldset>
        </form>
    </div>
</div>


<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js"
    integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo"
    crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js"
    integrity="sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1"
    crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js"
    integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM"
    crossorigin="anonymous"></script>

</body>
</html>

template / index.html

<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title>Please Login</title>

    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css"
      integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">

</head>
<body>

<p th:text="Hello World">Greeting</p>
</body>
</html>

static / css / style.css

body{
    background-color: red;
}

До входа в систему: enter image description here

После входа в систему:

enter image description here

Когда я нажимаю кнопку возврата назад (<-), применяется стиль: <a href="https://i.stack.imgur.com/eara8.png" rel="nofollow noreferrer">enter image description here

Отладчик Когда я хочу войти: enter image description here

Отладчик после входа в систему: enter image description here

Отладчик после нажатия на кнопку возврата назад:

enter image description here

Ответы [ 2 ]

0 голосов
/ 01 июля 2019

Вы должны игнорировать статические ресурсы, как показано ниже.

Класс конфигурации:

@Configuration
public class ConfigManager extends WebSecurityConfigurerAdapter {

    @Override
    public void configure(WebSecurity web) {
        web.ignoring().antMatchers("/css/**", "/js/**");
    }

    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http
                .authorizeRequests()
                    .anyRequest()
                    .fullyAuthenticated()
                    .and()
                .formLogin()
                    .loginPage("/login")
                    .permitAll();
    }
}

Надеюсь, это вам поможет!

0 голосов
/ 01 июля 2019

Изменить

 <link rel="stylesheet" type="text/css" media="all" th:href="@{/css/login.css}"/>

На

 <link rel="stylesheet" type="text/css" media="all" th:href="@{/css/style.css}"/>

в login.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...