Spring Security是Spring家族中的一个安全管理框架。相比与另外一个安全框架shiro,它提供了更丰富的功能,社区资源也比 Shiro丰富。
一般来说中大型的项目都是使用Spring Security来做安全框架。小项目有Shiro的比较多,因为相比与Spring Security,Shiro的上手更加的简单。
一般Web应用的需要进行认证和授权。
认证:验证当前访问系统的是不是本系统的用户,并且要确认具体是哪个用户
授权:经过认证后判断当前用户是否有权限进行某个操作
而认证和授权也是Spring Security作为安全框架的核心功能。
首先搭建一个简单的spring boot工程,用于测试项目能否正常使用。
①设置父工程,添加依赖
- <parent>
- <groupId>org.springframework.bootgroupId>
- <artifactId>spring-boot-starter-parentartifactId>
- <version>2.5.0version>
- parent>
- <dependencies>
- <dependency>
- <groupId>org.springframework.bootgroupId>
- <artifactId>spring-boot-starter-webartifactId>
- dependency>
- <dependency>
- <groupId>org.projectlombokgroupId>
- <artifactId>lombokartifactId>
- <optional>trueoptional>
- dependency>
- dependencies>
②创建启动类
- @SpringBootApplication
- public class SecurityApplication{
- public static void main(String[] args){
- SpringApplication.run(SecurityApplication.class,args);
- }
- }
③创建controller
- package controller;
-
- import...
-
- @RestController
- public class HelloController() {
- @RequestMapping("/hello")
- public String hello() {
- return "hello";
- }
- }
一般来说在spring boot项目要使用security只需要引用对应的依赖即可实现一个简单的入门案例。
- <dependency>
- <groupId>org.springframework.bootgroupId>
-
artifactId> - dependency>
引入依赖后我们在尝试去访问之前的 [/hello] 接口就会自动跳转到一个Spring Security的默认登陆页面,默认用户名是user,密码会输出在控制台。
我们必须在登陆之后才能对接口进行访问。