前提・実現したいこと
下記のサイトを参考にSpring Securityでログイン機能を実装したいのですが、
ログイン画面にIDとパスワードを入力してもログイン出来ません。
どこに問題があるのでしょうか。
また、staticフォルダ配下のCSSファイルも認証外になっており、
こちらも使用出来るようにしたいのですが、分かりません。
参考にしたサイト:https://arakan-pgm-ai.hatenablog.com/entry/2018/03/20/060000
該当のソースコード
login
1<!DOCTYPE html> 2<html xmlns:th="http://www.thymeleaf.org"> 3<head> 4<meta charset="UTF-8"> 5<title>社員名簿ログイン画面</title> 6<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.2/css/bootstrap.min.css" /> 7<link rel="stylesheet" href="/app.css" /> 8</head> 9<body> 10 <h1 class="header">社員名簿ログイン画面</h1> 11 <br/> 12 <div> 13 <form action="/namelist" method="GET" align="center"> 14 <p>ID:<input type="text" name="username"></p> 15 <p>Pass:<input type="text" name="password"></p> 16 <input type="submit" value="ログイン"> 17 </form> 18 <br/> 19 <div th:if="${iserror}" style="color:red;" align="center"> 20 <p>ログインできませんでした。やりなおしてください。</p> 21 </div> 22 </div> 23</body> 24</html>
SecurityConfig
1package com.practice; 2 3import org.springframework.security.config.annotation.web.builders.HttpSecurity; 4import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity; 5import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter; 6 7@EnableWebSecurity 8public class SecurityConfig extends WebSecurityConfigurerAdapter { 9 10 @Override 11 protected void configure(HttpSecurity web)throws Exception{ 12 13 web.formLogin().loginPage("/").defaultSuccessUrl("/namelist").failureUrl("/loginError").permitAll(); 14 web.authorizeRequests().antMatchers().permitAll().anyRequest().authenticated(); 15 } 16}
Controller
1 /*ログイン画面*/ 2 3 @GetMapping("/") 4 public String login() { 5 return "login"; 6 } 7 8 @GetMapping("/loginError") 9 public String loginError(Model model) { 10 model.addAttribute("iserror", true); 11 return "login"; 12 } 13 14 /*社員名簿画面*/ 15 16 @GetMapping("/namelist") 17 public String index(Model model) { 18 List<entity> namelist = Repository.findAll(); 19 model.addAttribute("namelist", namelist); 20 return "index"; 21 }
application
1spring.datasource.url=jdbc:postgresql://localhost:5432/spring_demo 2spring.datasource.username=postgres 3spring.datasource.password=miyamori18 4spring.datasource.driverClassName=org.postgresql.Driver 5 6spring.jpa.open-in-view=false 7 8spring.mvc.hiddenmethod.filter.enabled=true 9 10spring.security.user.name=user 11spring.security.user.password=demo 12spring.security.user.roles=USER 13
あなたの回答
tips
プレビュー