springsecurity-02《一个极简的springsecurity项目》

1:构建springsecurity项目的前提
JAVA:jdk1.8
IDE:idea/eclipse[STS:springtoolsuit(方便快捷构建springboot项目)]
Maven:3.6.3
springboot:1.5.10.RELEASE
本文用的是eclipse/STS构建,

2:构建一个极简单的springsecurity项目
①:pom.xml


        
            org.springframework.boot
            spring-boot-starter-security
        
        
            org.springframework.boot
            spring-boot-starter-web
        
    

②:JAVA代码

@RestController
@SpringBootApplication
public class SecuritydemoApplication {
    public static void main(String[] args) {
        SpringApplication.run(SecuritydemoApplication.class, args);
    }
    
    @RequestMapping("/")
    public String helloSecurity() {
        return "hello , springsecurity";
    }
}

③:启动项目访问localhost:8080


springsecurity默认登录页面

注意:springsecurity默认用户名为user,密码是01775df6-d0be-48a1-88de-9bff85bcfb80
image.png
,项目启动后的打印日志里生成随机密码,即可登录成功,如果想用自定义用户名密码:则在application.properties配置
security.user.name=ViceneLee
security.user.password=123

重启项目,登录成功


image.png

3:上面是基于http-basic方式的弹窗来让用户完成登录,而一般项目是会有一个登录页面。
①:所以,我们需要关闭http-basic的方式,关闭http-basic配置如下:

security.basic.enabled = false

②:新建SecurityConfiguration类,增加JAVA配置

@Configuration
@EnableWebSecurity
public class SecurityConfiguration extends WebSecurityConfigurerAdapter {
    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http
                .authorizeRequests()
                .anyRequest().authenticated()
                .and()
                .formLogin().and()
                .httpBasic();
    }
}

上面的代码只是一种配置:
authorizeRequests() 定义被保护和不被保护的URL。
formLogin() 定义用户登录所跳转的登录页面。
spring security默认提供了一个登录页面,以及登录控制器。

③:访问http://localhost:8080/login

image.png

输入配置的用户名密码,即登录成功
至此一个极简的springsecurity项目done!

你可能感兴趣的:(springsecurity-02《一个极简的springsecurity项目》)