【Spring实战】10 Security 入门

本文介绍了如何使用4行代码集成SpringSecurity到SpringBoot项目中,涉及依赖引入、基本请求、启动服务及登录验证。SpringSecurity提供了身份验证、授权、表单登录等功能,适合各种Spring应用的安全需求。
摘要由CSDN通过智能技术生成

本文将带你使用 4行 代码 走进 Security 的大门 !

下一篇【Spring实战】11 Security 常用配置 文章,再去继续介绍 Spring Security 的几个常用配置。

Spring Security 是一个用于在 Java 应用程序中提供身份验证(Authentication)和授权(Authorization)功能的强大框架。它构建在 Spring 框架的基础之上,为开发者提供了一套完整的安全性解决方案,使得在应用程序中集成用户认证和授权变得更加简便和灵活

官方网址

https://spring.io/projects/spring-security/

1. 依赖

首先,需要在项目的 pom.xml 文件中引入 Spring Security 的依赖

pom.xml

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

就这么一个简简单单的引入依赖,Spring Security 就配置完成啦!

2. 创建一个请求

启动服务之前我们准备一个供浏览器访问的请求

UserController.java

@RestController
@RequestMapping("user")
public class UserController {

    @GetMapping
    public String hello() {
        return "Hello";
    }
}

3. 创建一个启动类

创建一个正常的启动类,供启动 Spring Boot 服务

DemoApplication.java

package com.cheney.demo;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

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

4. 启动服务

启动我们刚刚准备好的 DemoApplication 服务

在这里插入图片描述

服务启动完成之后,可以看到控制台为我们生成了一串密码

Using generated security password: 7c94fc0d-70b7-46ce-a780-264a39562b89

5. 访问验证

访问刚刚准备好的如下请求看效果

http://localhost:8080/user

在这里插入图片描述

是不是很神奇,我们明明访问的 API,怎么就跳到了 login 画画,并且我们也没有画这么个画面呀!

6. 登录验证

我们尝试登陆一下,使用 Spring Security 默认的用户名是 user, 密码就是刚刚控制台生成的那一串字符串

在这里插入图片描述

输入完用户名和密码之后,点击 Sign in 按钮

在这里插入图片描述

此时,我们期待的 Hello 就又出现啦!恭喜你 Spring Security 已经学完啦_

※ 当然,这它的强大之处远远没有这么简单,哈哈。

7. 主要功能

  • 身份验证(Authentication)

    提供了多种身份验证机制,包括基于用户名和密码的认证、LDAP 认证、OAuth、OpenID 等。我们可以选择合适的身份验证方式来满足应用程序的需求

  • 授权(Authorization)

    支持基于角色和权限的授权机制。可以定义哪些用户拥有哪些角色和权限,以便在应用程序中进行细粒度的访问控制

  • 表单登录和登录保持

    提供了内置的表单登录和记住我功能,使得用户可以通过填写用户名和密码登录,并且可以选择在下一次访问时保持登录状态

  • 注解和标签

    支持在代码层面和页面层面使用注解和标签进行权限控制,使得权限配置更加灵活

  • CSRF 和 CORS 防护

    内置了对跨站请求伪造和跨域资源共享的防护机制,增强应用程序的安全性

  • 自定义过滤器和拦截器

    允许开发者通过自定义过滤器和拦截器来扩展和定制安全性策略

  • 集成第三方认证服务

    支持集成第三方认证服务,例如使用社交媒体账号进行登录(OAuth、OpenID Connect)

  • Session 管理

    提供了对会话管理的支持,包括会话超时、并发控制等

下一篇【Spring实战】11 Security 常用配置 文章,再去继续介绍 Spring Security 的几个常用配置。

总结

Spring Security 是一个 模块化的框架,它可以集成到任何基于 Spring 的应用程序中。无论是构建传统的基于服务器的 Web 应用、RESTful 服务,还是使用 Spring Boot 构建微服务,Spring Security 都可以提供一致的安全性解决方案。

  • 24
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值