SpringSecurity之入门案例

news2024/12/24 20:46:02

前言

前面一篇文章讲了一些关于SpringSecurity的基本内容、两大核心模块以及学习他所需要的基本技能点。接下来,带大家进入到一个基本的入门案例!!!

操作步骤

1、创建Springboot工程

首先通过idea开发工具,创建一个基本的SpringBoot项目工程。具体的创建步骤如下几组图片:

根据上方图片的步骤,我们一步步的操作下来,在idea工具中会有一个项目工程创建出来,紧接着,我们将工具的Maven进行调整为我们Maven配置为我们本地工具。

这里调整为自己的maven信息

2、引入依赖

接下来,我们调整一下我们的pom文件中的依赖。

因为,我们这是一个Web项目,所以将中第二个红框内的内容保持一致!

 调整好正确的依赖后,我们重新更新下pom的应用依赖即可!

3、编写controller进行测试

在项目中,创建controller包结构,然后并创建一个测试类TestController。

 具体代码如下:

package com.example.demos.springsecurinty.controller;

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

/**
 * @version 1.0
 * @user: Camel
 * @date: 2023/4/11 11:09
 * @description:
 */
@RestController
@RequestMapping("test/")
public class TestController {

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

截止到目前未知,我们的简单案例已经完成了!接下来我们看一下测试效果

测试

启动我们的项目,默认的端口号为8080,从上我们可以看出我们的请求地址为:/test/hello

在浏览器中输入:http://localhost:8080/test/hello

效果图为:

 从上图中我们可以看到,我们请求接口后,没有按照我们预想的返回hello security字符串,而是被一个登录页面所拦截。没错,这就是我们SpringSecurity安全框架默认的登录拦截页面。

其实,有一个默认的用户user,他的密码在控制台也已经打印了, 我们输入后即可登录进去,显示hello security字符串

user的密码如下图所示位置打印:

 将密码输入后,便正常显示了。

到这里,我们这个简单的SpringSecurity入门案例就正常顺利的完成了!

总结

这里仅仅是一个简单的关于SpringSecurity的基础入门,告诉我们如何创建一个Spring Boot项目,并且是如何引入SpringSecurity的jar包,完成一个简单的测试案例!

关于入门案例,就讲解到这里,下面我们会真正进入到SpringSecurity的世界吧。

欢迎点击下方卡片,关注《coder练习生》

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/424803.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

代码随想录_二叉树_leetcode669 108 538

leetcode 669. 修剪二叉搜索树 669. 修剪二叉搜索树 给你二叉搜索树的根节点 root ,同时给定最小边界low 和最大边界 high。通过修剪二叉搜索树,使得所有节点的值在[low, high]中。修剪树 不应该 改变保留在树中的元素的相对结构 (即,如果没…

翻译国外文章-整篇文章的翻译

chatgpt翻译是专业的吗 ChatGPT是一种AI语言模型,它可以用来执行各种自然语言处理任务,包括翻译。然而,ChatGPT的翻译结果并不是专业的翻译,因为该模型并不是专为翻译任务训练的。 虽然ChatGPT的翻译质量相对较高,但…

你了解C语言中的数组指针和函数指针吗?

如题,本篇文章重点讲解C语言中的数组指针和函数指针。这2种指针其实都不是很常用,个人感觉使用起来代码的可读性不是很高,但是还是需要了解一下。 数组指针 数组指针,即指向数组的指针,是用来存放数组的地址的。那如…

JavaScript对象类型之Array及Object

目录 一、Array (1)语法 (2)API 二、Object (1)语法 (2)特色:属性增删 (3)特色:this (4)特色&#xf…

公司测试员用例写得乱七八糟,测试总监制定了这份《测试用例编写规范》

统一测试用例编写的规范,为测试设计人员提供测试用例编写的指导,提高编写的测试用例的可读性,可执行性、合理性。为测试执行人员更好执行测试,提高测试效率,最终提高公司整个产品的质量。 一、范围 适用于集成测试用…

SAP MDG —— 使用DIF导入物料主数据 Part3 进阶篇

文章目录关于使用DIF处理物料主数据的相关信息IDOC 缩减IDOC 扩展物料编码的主键映射 Key Mapping主键映射和内部给号其他主键的主键映射值映射 Value Mapping将物料主数据导出为IDoc文件 - MATMAS / CLFMAS错误处理本章小结关于使用DIF处理物料主数据的相关信息 IDOC 缩减 场…

机器学习:基于KNN对葡萄酒质量进行分类

机器学习:基于KNN对葡萄酒质量进行分类 作者:i阿极 作者简介:Python领域新星作者、多项比赛获奖者:博主个人首页 😊😊😊如果觉得文章不错或能帮助到你学习,可以点赞👍收藏…

网盘工具助力律师团队文件管理

律师的日常工作离不开文件管理。文档管理对于律师而言是一门必修课,这也是日积月累的工作。良好的文件管理习惯可以帮助我们让工作流程化、标准化,助力知识管理,避免职业风险,提升团队工作效率。 好用的文件管理工具也可以帮助律师…

Python 实验三 控制语句

1.从键盘接收整数的一百分制成绩(0到100),要求输出其对应的成绩等级A-E。其中,90分(包含)以上为A,80-89(均包含)分为B,70-79(均包含)分为C,60-69&…

[网络安全] Windows Server 设置文件屏蔽防止黑客利用漏洞上传特定类型的非法文件

我在负责网站运维期间,遇到过一次黑客利用网站内使用的开源文件上传工具漏洞上传非法文件(可执行脚本) 我是通过设置文件屏蔽来防止此类事件的再次发生。特在此做下记录。 文章目录前言一、黑客是怎么攻击我的二、我是怎么防范的2.1 Windows …

我学习网络安全的心得

我的学习心得,我认为能不能自学成功的要素有两点。 第一点就是自身的问题,虽然想要转行学习安全的人很多,但是非常强烈的想要转行学好的人是小部分。而大部分人只是抱着试试的心态来学习安全,这是完全不可能的。 所以能不能学成并…

Matplotlib 二维图像绘制方法

Matplotlib 二维图像绘制方法 介绍 Matplotlib 是支持 Python 语言的开源绘图库,因为其支持丰富的绘图类型、简单的绘图方式以及完善的接口文档,深受 Python 工程师、科研学者、数据工程师等各类人士的喜欢。本次实验课程中,我们将学会使用 Matplotlib 绘图的方法和技巧。…

GitHub的简介与Idea集成Git

六大基础功能 : 创建远程库、代码推送(Push)、代码拉取(Pull)、代码克隆(Clone)、SSH免密登录、Idea集成GitHub GitHub 网址:https://github.com/ 1.创建远程仓库 登录后的页面右上…

亚马逊云科技帮助BMW Financial Services设计和构建数据架构

BMW Group和亚马逊云科技于2020年宣布达成全面战略合作。在re:Invent2019上,BMW和亚马逊云科技展示了新的云数据中心平台,先是大致介绍了不同的数据平台原型,然后介绍了构建BMW Group云数据中心的过程。Amazon Data Lab使用亚马逊云科技的云数…

Volatile关键字的作用探究

前言 今天下午BOSS上投了个简历小试了一波水,结果被问到一个知识点volatile关键字的作用,我回答了线程的可见性,另一个死活想不起来是什么,当回到工位上看了眼笔记,才想起来。这种知识点其实平时使用的频率还是挺高的…

Phaser笔记-scene中的preload、create、update、player、键盘控制

一般phaser最简单的配置文件如下: let config {type: Phaser.AUTO,width: 800,height:600,scene: {preload: preload,create: create,update: update},physics:{default: arcade,arcade: {gravity: { y: 300},debug: false}}};其中scene有3个函数:prel…

CI570 3BSE001440R1适用于数字功能需求较多的设计

CI570 3BSE001440R1适用于数字功能需求较多的设计 尽管纯硅的CMOS 制程被认为仅适用于数字功能需求较多的设计,而不适用于以模拟电路为主的射频IC 设计,不过历经十几年的努力后,随着CMOS 性能的提升、晶圆代工厂在0.25mm 以下制程技术的配合、…

解决 Docker + selenium + chromedriver + chrome 会出现僵尸进程的问题

一、僵尸进程问题 在docker里,使用selenium爬虫, webdriver quit后,会产生很多僵尸进程。docker run -it -v /home/blackip:/home/blackips/ selenium:1.0python3 linux_black_ip.pytop查看僵尸进程:ps -ef | grep defunct查看…

微服务+springcloud+springcloud alibaba学习笔记【Ribbon的使用】(4/9)

Ribbon的使用 4/91、Ribbon负载均衡1.1 Ribbon简介1.2 Ribbon功能1.3 使用Ribbon:1.3.1 Ribbon常用负载均衡算法1.3.2 使用Ribbon1.3.3 ribbon的轮询算法原理1.3.4 手写一个负载均衡轮询算法1.3.5 启动服务,测试1、Ribbon负载均衡 1.1 Ribbon简介 Spring Cloud Ribbon是基于N…

Nestjs实战干货-概况-管道-Pipes

管道 带上装饰器 Injectable() 并实现了 PipeTransform 接口的类,就是管道。 管道有 2 个典型的应用场景: 数值转换:将输入的参数转换成目标类型,例如,string to number。 数值校验:对输入的参数进行校验…