В настоящее время я использую Spring-Security с пользовательской страницей входа. Всякий раз, когда я запускаю свое приложение, оно всегда сначала попадает на мою страницу входа в систему, а не в домашнюю страницу в состоянии отсутствия входа. Я хочу, чтобы моя начальная целевая страница была переведена в домашний HTML-код в состоянии отсутствия входа и показывать кнопку входа.
Это мой WebSecurityConfig.java
protected void configure(HttpSecurity http)throws Exception {
http
.authorizeRequests()
.antMatchers("/css/**").permitAll()
.antMatchers("/js/**").permitAll()
.anyRequest().authenticated()
.and()
.formLogin()
.loginPage("/login")
.permitAll()
.and()
.logout().logoutRequestMatcher(new AntPathRequestMatcher("/logout")).logoutSuccessUrl("/login").permitAll();
}
Это контроллер, который обрабатывает страницу входа и домашнюю страницу
@RequestMapping("/")
public String home (){
return "home";
}
@RequestMapping("/login")
public String login(){
return "login";
}
Это мой login.html
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<title>Home</title>
<object th:include="fragments/fragment :: css" th:remove="tag"></object>
<object th:include="fragments/fragment :: js" th:remove="tag"></object>
</head>
<body>
<div id="login">
<h3 class="text-center text-white pt-5">Halo!</h3>
<div class="container">
<div id="login-row" class="row justify-content-center align-items-center">
<div id="login-column" class="col-md-6">
<div id="login-box" class="col-md-12">
<form id="login-form" class="form" th:action="@{/login}" method="POST">
<h3 class="text-center text-info">Login</h3>
<div class="form-group">
<label for="username" class="text-info">Username:</label><br>
<input type="text" name="username" id="username" class="form-control">
</div>
<div class="form-group">
<label for="password" class="text-info">Password:</label><br>
<input type="password" name="password" id="password" class="form-control">
</div>
<div class="form-group">
<input type="submit" name="submit" class="btn btn-info btn-md" value="submit">
</div>
</form>
</div>
</div>
</div>
</div>
</div>
</body>
</html>
<style>
body {
margin: 0;
padding: 0;
background-color: #9be3de;
height: 100vh;
}
#login .container #login-row #login-column #login-box {
margin-top: 120px;
max-width: 600px;
height: 320px;
border: 1px solid #9C9C9C;
background-color: #EAEAEA;
}
#login .container #login-row #login-column #login-box #login-form {
padding: 20px;
}
#login .container #login-row #login-column #login-box #login-form #register-link {
margin-top: -85px;
}
</style>
и это мой home.html
<!DOCTYPE html>
<html xmlns:th="http://thymeLeaf.org">
<!-- <html xmlns:sec="https://www.thymeleaf.org/thymeleaf-extras-springsecurity5" xmlns:th="https://www.thymeleaf.org"> -->
<head>
<title> Home </title>
<object th:include="fragments/fragment :: css" th:remove="tag"></object>
<object th:include="fragments/fragment :: js" th:remove="tag"></object>
</head>
<body>
<nav th:replace="fragments/fragment :: navbar"></nav>
<img style="width: 100% ; background-size: cover;" th:src="@{/img/webconstruction.png}">
</body>
</html>
Я ожидаю, что при первом входе на сайт он попадет на мой home.html без состояния входа в систему и покажет имя входаКнопка вместо моего login.html. Как мне подойти к этой проблеме?