泡泡SpringSecurity5.2【SpringBoot整合SpringSecurity-自定义登录页面】

1

<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title>login</title>
</head>
<body>
    <h1>登录管理</h1>
    <form th:action="@{/login}" method="post">
        账号:<input type="text" name="username"><br>
        密码:<input type="password" name="password"><br>
        <input type="submit" value="登录">
    </form>
</body>
</html>
View Code

 

 

 

 2

package com.haifei.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller //一定不要用@RestController
public class LoginController {

    @RequestMapping("/mylogin")
    public String goLoginPage(){
        return "/login_page";
    }
}

 

3

 

 

package com.haifei.config;

import org.springframework.context.annotation.Configuration;
import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;

@Configuration
public class SpringSecurityConfig extends WebSecurityConfigurerAdapter {

    /**
     * 先通过内存中的账号密码来处理
     * @param auth
     * @throws Exception
     */
    @Override
    protected void configure(AuthenticationManagerBuilder auth) throws Exception {
        auth.inMemoryAuthentication()
                .withUser("zhang")
                .password("{noop}123")
                .roles("USER");
    }

    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http.authorizeRequests()
                .mvcMatchers("/login_page.html","/mylogin","/css/**","/js/**")
                .permitAll()
                .antMatchers("/**")
                .hasAnyRole("USER")
                .anyRequest()
                .authenticated()
                .and()
                .formLogin()
                .successForwardUrl("/home.html")
                .loginPage("/mylogin")
                .loginProcessingUrl("/login")
                .and()
                .csrf()
                .disable();
        //successForwardUrl仅支持post提交
    }

}

 


 

 

 

 

spring-boot-starter-thymeleaf下载不下来,则该依赖导入失败,则使用thymeleaf的页面因无法被访问而导致404



4

测试

 

 

 

 

 

posted @ 2021-08-19 20:01  yub4by  阅读(177)  评论(0)    收藏  举报