SpringSecurity-从入门到精通学习笔记1

简介: SpringSecurity-从入门到精通学习笔记

SpringSecurity从入门到精通

课程介绍

f5ee06bcc98b4f4581a83e25c0b03f0c.png

0. 简介

Spring Security 是 Spring 家族中的一个安全管理框架。相比与另外一个安全框架Shiro,它提供了更丰富的功能,社区资源也比Shiro丰富。

一般来说中大型的项目都是使用SpringSecurity 来做安全框架。小项目有Shiro的比较多,因为相比与SpringSecurity,Shiro的上手更加的简单。

一般Web应用的需要进行认证和授权。

认证:验证当前访问系统的是不是本系统的用户,并且要确认具体是哪个用户

授权:经过认证后判断当前用户是否有权限进行某个操作

而认证和授权也是SpringSecurity作为安全框架的核心功能。

1. 快速入门

1.1 准备工作

我们先要搭建一个简单的SpringBoot工程

① 设置父工程 添加依赖

<parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.5.0</version>
    </parent>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>
    </dependencies>

② 创建启动类

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

③ 创建Controller

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class HelloController {
    @RequestMapping("/hello")
    public String hello(){
        return "hello";
    }
}

1.2 引入SpringSecurity

在SpringBoot项目中使用SpringSecurity我们只需要引入依赖即可实现入门案例。

<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-security</artifactId>
        </dependency>

简单实例:ebf3d6ae296940c1af15f1f7799f5628.png

62b398e1388b41d38a5c5190093161ff.png

只有输入账号密码进行权限校验后,才能访问接口:

656ee859ac7f46a48d862739f8c241a0.png

引入依赖后我们在尝试去访问之前的接口就会自动跳转到一个SpringSecurity的默认登陆页面,默认用户名是user,密码会输出在控制台。 必须登陆之后才能对接口进行访问。


目录
相关文章
|
15天前
|
安全 算法 Java
SpringSecurity 快速入门
SpringSecurity 快速入门
26 3
|
5月前
|
安全 Java 数据库
SpringSecurity基础入门详解
SpringSecurity基础入门详解
67 0
|
6月前
|
前端开发 Java 测试技术
SpringMVC:从入门到精通
SpringMVC:从入门到精通
56 0
|
8月前
|
安全 Java 数据库
SpringSecurity 入门
Spring Security是Spring采用 `AOP`思想,基于 `servlet过滤器`实现的安全框架。它提供了完善的**认证机制**和**方法级的授权功能**。是一款非常优秀的权限管理框架。
57 0
|
2月前
|
存储 安全 Java
SpringSecurity 从入门到精通
SpringSecurity 从入门到精通
|
3月前
|
存储 安全 Java
【SpringSecurity】快速入门—通俗易懂
【SpringSecurity】快速入门—通俗易懂
26 0
|
3月前
|
SQL 安全 Java
【SpringSecurity】简介
【SpringSecurity】简介
25 0
|
9月前
|
存储 NoSQL Java
SpringSecurity-从入门到精通学习笔记2
SpringSecurity-从入门到精通学习笔记
38 0
|
9月前
|
安全 Java 数据库
SpringSecurity入门
SpringSecurity入门
79 0
|
10月前
|
存储 SQL 前端开发
SpringSecurity-从入门到精通(2)
2.3.3.2 密码加密存储 ​ 实际项目中我们不会把密码明文存储在数据库中。 ​ 默认使用的PasswordEncoder要求数据库中的密码格式为:{id}password 。它会根据id去判断密码的加密方式。但是我们一般不会采用这种方式。 ​ 所以就需要替换 PasswordEncoder。