带你认识Spring Security,一个功能强大,可高度定制的认证与授权的框架;重点处理认证和授权2个功能

本文详细介绍了Spring Security的基本概念,包括认证、授权和会话管理,并通过一个入门示例展示了如何配置和使用Spring Security。文章还探讨了Security的拓展点,如自定义用户数据来源、密码解析器和安全拦截策略。最后,讨论了Spring Security的登录、记住我功能、拦截策略、CSRF保护以及权限注解支持。
摘要由CSDN通过智能技术生成

一、基础

官网地址:spring.io/projects/spring-security

Spring Security是一个功能强大,可高度定制的认证与授权的框架;重点处理认证和授权2个功能

1.1)认证

就是判断一个用户身份是否合法的过程,用户访问系统资源时系统要求验证用户的身份信息,根据认证的结果来进行后一步的操作;认证是为了保证系统的隐私数据与资源;

1.2)授权

授权是用户通过认证后,根据用户的权益来控制用户可以访问资源的过程;授权是为了更细粒度地对隐私数据进行划分,授权是发生在认证通过之后;

1.3)会话

系统为了保持当前用户的登录状态所提供的机制;常见的方式有session、token等方式;

二、入门示例

2.1)加入依赖

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-security</artifactId>
</dependency>
复制代码

2.2)启动类配置

//@EnableWebSecurity这个注解是SpringSecurity框架提供的注解,加入从注解后即集成了Security
@EnableWebSecurity
@SpringBootApplication
public class SecurityDemoApplication {

    public static void main(String[] args) {
        SpringApplication.run(SecurityDemoApplication.class, args);
    }

}
复制代码

2.3)构建访问交互

@RestController
@RequestMapping("/testDemo")
public class TestDemoController {
    /**
     * 功能描述:测试访问1
     *
     * @author : XXSD
     * @date : 2021/1/7 0007 上午 10:56
     */
    @RequestMapping("/demo1")
    public String demo1() {
        return "demo1";
    }
}
复制代码

2.4)启动项目并访问

在浏览器输入: http://localhost:8081/testDemo/demo1

得到如下结果;注意:这里我们没有配置任何的页面,但是项目启动后输入上面的地址,会打开一个界面,这个界面是SpringSecurity为我们提供的一个默认界面;

在代码中并没有添加任何的登录页面,但是这里却出现了,显然是Security框架提供过的;

回顾控制台日志信息:

Connected to the target VM, address: '127.0.0.1:49458', transport: 'socket'

  .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::                (v2.4.1)

2021-01-07 11:04:25.322  INFO 52984 --- [           main] xinyan.SecurityDemoApplication           : Starting SecurityDemoApplication using Java 1.8.0_202 on JKY8986KLO9O81T with PID 52984 (F:\Tu_Ling\xuexi-demo\security-demo\target\classes started by Administrator in F:\Tu_Ling\xuexi-demo)
2021-01-07 11:04:25.327  INFO 52984 --- [           main] xinyan.S
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值