Security快速入门

简介: Security快速入门

一、概述

Spring Security是spring家族产品中的一个安全框架,核心功能包括用户认证(Authentication)和用户授权(Authorization)两部分。

用户认证:验证某个用户是否为系统中的合法主体,也就是说用户能否访问该系统。用户认证一般要求用户提供用户名和密码。系统通过校验用户名和密码来完成认证过程。

用户授权:指的是验证某个用户是否有权限执行某个操作。在一个系统中,不同用户所具有的权限是不同的。比如对一个文件来说,有的用户只能进行读取,而有的用户可以进行修改。一般来说,系统会为不同的用户分配不同的角色,而每个角色则对应一系列的权限。就是所谓的RBAC系统。

权限认证框架类似的还有shiro、以及国产Sa-Token,可以类比学习

二、快速入门

创建一个boot项目,引入一下依赖

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

创建一个测试访问地址

@Controller
public class DemController {
    @RequestMapping("/index")
    public void index(){
        System.out.println("hello");
    }
}

访问/index,浏览器地址跳转为localhost:8080/login,界面如下,这个就是security默认对所有资源保护,

在项目启动过程中,我们会看到如下一行日志

Using generated security password: d58e2224-2034-4196-b13f-f4a18bb65a13

这就是 Spring Security 为默认用户 user 生成的临时密码,是一个 UUID 字符串。

在登录页面,默认的用户名就是 user,默认的登录密码则是项目启动时控制台打印出来的密码,输入用户名密码之后,就登录成功了,登录成功后,我们就可以访问到 /index接口了。

在 Spring Security 中,默认的登录页面和登录接口,都是 /login ,只不过一个是 get 请求(登录页面),另一个是 post 请求(登录接口)。默认的密码有一个问题就是每次重启项目都会变。

问题1:默认的账户从哪来的?

问题2:只是加入了一个依赖,怎样做到全局资源认证的?

三、版本说明

目前springboot已经以及更新至3.x,security也更新到6.x,如果boot还是2.x版本,建议security使用5.x,如果boot使用3.x,security建议使用6.x


相关文章
|
安全 Java 数据安全/隐私保护
Spring Security快速入门
Spring Security快速入门
170 0
|
安全 Java 数据安全/隐私保护
案例之认证服务security配置|学习笔记
快速学习案例之认证服务security配置
案例之认证服务security配置|学习笔记
|
缓存 安全 Java
Security2 1|学习笔记
快速学习 Security2 1
248 0
Security2 1|学习笔记
|
安全 网络安全 数据安全/隐私保护
|
存储 算法 安全
Security2 3|学习笔记
快速学习 Security2 3
Security2 3|学习笔记
|
存储 安全 Java
Security1 2|学习笔记
快速学习 Security1 2
130 0
Security1 2|学习笔记
|
自然语言处理 算法 安全
Security2.2|学习笔记
快速学习 Security2.2
137 0
Security2.2|学习笔记
|
存储 设计模式 安全
Spring Cloud Security OAuth2.0 认证授权系列(一) 基础概念
最近想搞下基于Spring Cloud的认证授权平台,总体想法是可以对服务间授权,想做一个基于Agent 的无侵入的方式。 因为新版本的Spring Cloud Security 、 OAuth2.0 貌似改了些东西,说上网随便翻翻,但发现没有针对Spring Security OAuth2.0认证授权系统性的文章。 遂结合一些资料和自己的一些梳理,来搞一个认证授权系列,就当是一个总结了。
|
安全 Java 数据安全/隐私保护
Spring Security(04)——认证简介
认证简介 目录 1.1     认证过程 1.2     Web应用的认证过程 1.2.1    ExceptionTranslationFilter 1.2.2    在request之间共享SecurityContext   1.1     认证过程        1、用户使用用户名和密码进行登录。
795 0
|
存储 安全 Java
Spring Security系列教程26--Spring Security实现CAS单点登录上篇--概述
前言 从本章节开始,一一哥 会给各位讲解一个很常见也很重要的知识点,就是单点登录!现在的大型分布式项目,基本都会考虑实现单点登录,而且现在网上也有很多单点登录的实现方案、开源项目,但是针对单点登录的实现原理,讲解的并不是很细。你可以参考其他开源案例项目,再结合本系列文章,就可以对单点登录有较为深入的认识。 如果你对单点登录是什么也不知道,那就先看本文,了解单点登录的含义吧。 一. 单点登录 1. 产生背景 很早的时候,一家公司里可能只有一个Server,后来慢慢的Server开始变多了,而每个Server都要进行注册登录,退出的时候又要一个个退出,用户体验很不好!比如,我们想访问百度系列,要
356 0

热门文章

最新文章