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
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
②: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默认用户名为user,密码是01775df6-d0be-48a1-88de-9bff85bcfb80
security.user.name=ViceneLee
security.user.password=123
重启项目,登录成功
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
输入配置的用户名密码,即登录成功
至此一个极简的springsecurity项目done!