当前位置: 首页 > news >正文

动手试一试 Spring Security入门

1.创建Spring Boot项目

引入Web和Thymeleaf的依赖启动器

2.引入页面Html资源文件

在项目的resources下templates目录中,引入案例所需的资源文件(下载地址),项目结构如下

3.创建控制器

@Controller
public class FilmController {//  影片详情页@GetMapping("/detail/{type}/{path}")public String toDetail(@PathVariable("type")String type, @PathVariable("path")String path) {return "detail/"+type+"/"+path;}}

至此,使用Spring Boot整合Spring MVC框架实现了一个传统且简单的Web项目,

目前项目没有引入任何的安全管理依赖,也没有进行任何安全配置,

项目启动成功后,通过http://localhost:8080访问首页,单击影片进入详情详情页。

4.开启安全管理

添加spring-boot-starter-security启动器

一旦项目引入spring-boot-starter-security启动器,MVC Security和WebFlux Security负责的安全功能都会立即生效

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

5.项目启动测试

项目启动时会在控制台Console中自动生成一个安全密码

如果是热部署重启项目,可能不会有安全密码,那就关闭项目,再启动

浏览器访问http://localhost:8080/查看项目首页,会跳转到一个默认登录页面。

因为添加了Security依赖后,会进行spring security的自动化配置,需要先登录,才能访问首页,Spring Security会自带一个默认的登录页面。

随意输入一个错误的用户名和密码,会出现错误提示

Security会默认提供一个可登录的用户信息,其中用户名为user,密码随机生成,

这个密码会随着项目的每次启动随机生成并打印在控制台上,在登录页面输入用户名和密码。

这种默认安全管理方式存在诸多问题,例如:

只有唯一的默认登录用户user、密码随机生成且过于暴露、登录页面及错误提示页面不是我们想要的等。

相关文章:

  • 服务器上安装node
  • Ubuntu服务器上如何监控Oracle数据库
  • JCP官方定义的Java技术体系组成部分详解
  • 操作系统---经典同步问题
  • 高功率激光输出稳定性不足?OAS 光学软件来攻克
  • 【Python网络爬虫实战指南】从数据采集到反反爬策略
  • ActiveMQ 快速上手:安装配置与基础通信实践(一)
  • HTB - BigBang靶机记录
  • 【MySQL数据库】表的增删改查
  • 雪花算法生成int64,在前端js的精度问题
  • PostgreSQL的dblink扩展模块使用方法
  • Java并发编程|CompletableFuture原理与实战:从链式操作到异步编排
  • 数据库监控 | MongoDB监控全解析
  • vue3实现v-directive;vue3实现v-指令;v-directive不触发
  • 【AI平台】n8n入门1:详细介绍n8n的多种安装方式(含docer图形化安装n8n)
  • 武汉火影数字虚拟展厅制作:打破时空限制的数字化盛宴
  • 【高频考点精讲】JavaScript中的组合模式:从树形结构到组件嵌套实战
  • 基于 Spring Boot 的银行柜台管理系统设计与实现(源码+文档+部署讲解)
  • AD16如何设置合适的PCB板框
  • 常见的限流算法
  • 云南省委常委、组织部部长刘非任浙江省委常委、杭州市委书记
  • 美称中美芬太尼问题谈判但中方不够真诚,外交部回应
  • 现场|贝聿铭上海大展:回到他建筑梦的初始之地
  • 魔都眼·上海车展⑤|被主播包围的新车
  • 预热苏杯,“谁羽争锋”全国新闻界羽毛球团体邀请赛厦门开赛
  • 内蒙古镶黄旗委原书记好毕斯哈拉图履新锡林郭勒盟民政局局长