1.工程搭建与验证

简介: 本文介绍如何基于阿里云脚手架快速搭建SpringBoot工程(选用2.7.6版本),并整合Spring Security。通过引入web和security依赖,编写测试接口,启动后自动跳转登录页,使用默认用户密码登录验证权限控制功能。完整代码见GitHub仓库Day01分支。

1-工程搭建
1.脚手架搭建https://start.aliyun.com/bootstrap.html
借助于阿里云脚手架,我们可以快速创建一个maven或gradle工程

如上图创建完之后,点击:浏览代码。即可查看代码大致目录结构,如下图

注意:这里默认的SpringBoot版本是3.0.2,其默认使用JDK需要17,一般建议大家使用低一点的版本,这里笔者采用的:2.7.6,即上图版本中的第二个。
2.代码导入
确认无误后,我们下载代码,并完成idea的工程导入

3.代码验证
1.引入web依赖


org.springframework.boot
spring-boot-starter-web

2.编写访问入口
package com.yzxb.SpringSecurity.web;

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
@RequestMapping("demo")
public class HelloController {

@GetMapping
public String helloWorld() {
    return "Hello Spring Security";
}

}
3.启动工程验证

2.整合SpringSecurity
1.引入依赖


org.springframework.boot
spring-boot-starter-security

2.启动验证
启动过程中会发现,日志已经有明显变化

此时我们再去浏览器访问,会发现系统自动跳转到路径:login,如下:

这就验证了我们已经完成了SpringSecurity的整合,此时我们可以用默认账户登录:
● 用户名:user
● 密码:控制台输出,这里就是:e201f3a8-3db8-4a02-b985-9f276b14c6d7
这里也说明了:默认的密码在每次重启工程后是会变化的
当输入正确的用户名密码后,将自动跳转至我们前面访问的路径:http://localhost:8080/demo,结果:

3.完整代码获取
git仓库地址:https://github.com/Herbbbb/SpringSecurity.git
git分支:Day01-整合Springboot与SpringSecurity

相关文章
|
存储 大数据 API
大数据隐私保护策略:加密、脱敏与访问控制实践
【4月更文挑战第9天】本文探讨了大数据隐私保护的三大策略:数据加密、数据脱敏和访问控制。数据加密通过加密技术保护静态和传输中的数据,密钥管理确保密钥安全;数据脱敏通过替换、遮蔽和泛化方法降低敏感信息的敏感度;访问控制则通过用户身份验证和权限设置限制数据访问。示例代码展示了数据库、文件系统和API访问控制的实施方式,强调了在实际应用中需结合业务场景和平台特性定制部署。
4236 0
|
存储 SQL 安全
加密后的数据如何进行模糊查询?
在数据安全和隐私保护日益重要的今天,加密技术成为保护敏感数据的重要手段。然而,加密后的数据在存储和传输过程中虽然安全性得到了提升,但如何对这些数据进行高效查询,尤其是模糊查询,成为了一个挑战。本文将深入探讨如何在保证数据安全的前提下,实现加密数据的模糊查询功能。
2379 0
|
缓存 Ubuntu 前端开发
Linux配置yum源以及基本yum指令
Linux配置yum源以及基本yum指令
|
3月前
|
存储 缓存 安全
One Trick Per Day
初始化Map应避免默认容量导致的扩容开销,推荐使用Guava的`newHashMapWithExpectedSize`或手动计算初始容量。,应显式通过`ThreadPoolExecutor`定义核心参数。`Arrays.asList`返回不可变列表,不支持增删操作,且与原数组共享数据。遍历Map时优先使用`entrySet`,减少遍历次数提升性能;JDK8可用`forEach`。`SimpleDateFormat`非线程安全,禁用static修饰,建议使用ThreadLocal或JDK8新时间API。并发更新记录需加锁,可采用数据库乐观锁(version)或缓存锁机制,确保数据一致性。
|
3月前
|
开发者
业务架构图
业务架构图是梳理业务层级与关系的工具,通过分层、分模块、分功能,将复杂业务抽象化,明确模块边界与信息流,提升客户理解与开发效率,是系统设计的核心基础。(238字)
|
3月前
|
缓存 算法 搜索推荐
五、Executors工厂类详解
本文深入解析Java中Executors类提供的12种线程池创建方法,涵盖newFixedThreadPool、newCachedThreadPool、newWorkStealingPool及ScheduledExecutorService等,对比其核心参数、工作原理与适用场景,并结合源码分析任务调度机制、线程复用策略与队列行为,重点探讨周期任务调度延迟、死循环任务影响等实际问题,帮助开发者准确选择和使用线程池,提升并发编程能力。
|
3月前
|
存储 缓存 Java
七、ThreadLocal
ThreadLocal是线程本地变量,为每个线程提供独立的变量副本,避免线程间竞争。每个线程可独立操作自己的数据,互不干扰。适用于如任务耗时统计等场景,提升性能。子线程无法继承父线程的ThreadLocal值,但可通过InheritableThreadLocal实现数据传递。底层通过ThreadLocalMap存储,线程退出时自动清理,也可手动remove释放内存。
|
3月前
|
存储 JSON NoSQL
3-MongoDB常用命令
本节介绍MongoDB数据库articledb中文章评论数据的存储与操作,涵盖数据库及集合的创建、删除,以及文档的增删改查。使用`use`切换数据库,插入数据时可自动创建集合;通过`insert()`或`insertMany()`插入单条或多条评论记录,支持指定字段与投影查询,熟练运用find()实现条件筛选和结果控制。
|
3月前
|
NoSQL MongoDB
3.4.3 文档的更新
MongoDB文档操作详解:涵盖update更新语法,支持覆盖、局部($set)、批量(multi)及数值增减($inc)修改;remove删除指定或全部数据;结合count统计、limit/skip分页及sort排序实现高效查询。

热门文章

最新文章