1.工程搭建与验证

简介: 本文介绍如何使用阿里云脚手架快速搭建Spring Boot工程,并整合Spring Security。通过选择依赖、生成项目、导入IDE,完成基础安全配置,验证登录拦截与访问控制,实现简单的Web安全防护。

1.工程搭建与验证

1-工程搭建
1.脚手架搭建

Cloud Native App Initializer

Initializr generates spring boot project with just what you need to start quickly!

Cloud Native App Initializer

借助于阿里云脚手架,我们可以快速创建一个maven或gradle工程

.0.227.62.6.132.4223.12RELEASE

WEB,SECURITY,JPA,ACTUATOR,DE

TARTALIYUN.COMISPOWEREDBY

CLOUDNATIVEAPPILNITIALIZER

项目构建方式

云原生应用脚手架

浏览代码-CTRL+SPACE

O1999-2023ALIYUN.CON

暂未选择任何组件

RADLEPROJECT

组件与示例

PRINGBOOT版本

获取代码-8+

SPRINGSECURIT

巴巴微

三分组列表

我要反

搜索依赖组件

COMYZXK

目基本信息

服务生

AVENPROJEC

应用架构

ALYUNCON

解决方案

开发语言

ARTIFACT

高级选项

KOTLIN

已选组件

VC架构

单模块

GROOVY

GROUP

Q搜索

AVA

分享..

色千


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

XSI:SCHEMALOCATION="HTTP://MAVEN.APACHE.ORG/POM/4.0.0HTTPS://MAVEN,APACHE,ONG/XSD/MAVEN-4.0..XSD'>

PROECTXMLNS=HTTP://MAVEN,APACHE,ORG/PON4.0.O"XMLNS:XSI="HTTP//W.W3,ORG/20L/MLSCHEMA-INSTANCE

<PROJECT.BUILD,SOURCEENCODINGUTF-8</PROJECT.BUILD.SOURCEENCODING>

<DESCRIPTION>DEMOPROJECTFORSPRINGSECURITY</DESCRIPTIOR

<NNOIECT,REOORTINA.OUTPUTENCODINGUTF-8</PROJECT.REPORTING.OUTPUTEN

<ARTIFACTID>SPRING-BOOT-STARTER</ARTIFACTID>

<QROUPID>ORG.SPRINGFRAMEWORK.BOOT</GROUPLD>

<SPRINA-BOOT.VERSION>3.0.2</SPRING-BOOT.VERSION>

XMLVERSION="1.0"ENCODING-"UTF-8"?>

巴SPRINGSECURITYAPPLICATIONTESTSJAVA

<MODE1VERSION>4.0.0</MODELVERSION>

ARTIFACTLD>SPRINGSECURITY</ARTIFACTLD>

<JAVA.VERSION>17</JAVA.VERSION>

凸SPRINGSECURITYAPPLICATIONJAVA

<NAME>SPRINGSECURITY</NAME>

<GROUPID>COM.YZXB</GROUPID>

<VERSION>0.0.1-SNAPSH0T</VERSION>

PRINGSECURITY.ZIP

SPRINGSECURITY

</PROPERTIES>

/DEPENDENCY>

C+.NENORTINA.OUTPUTENCODING>

SPRINGSECURITY

<DEPENDENCIES>

<DEPENDENCY>

DENENDENCY>

载源码包

ROPERTIES>

HELP.MD

DOWNLOAD

POM.XM

一JAVA

POM.XML

DGITIGNORE

COM

二MAIN

TEST

一YZXB

一JAVA

LCOPY

YZXB

SRC

一COM


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

SPRINGSECURITY~/DESKTOP/CODE/SPRINGSECURITY

PUBLICCLASSSPRINGSECURITYAPPLICATION

UBLICSTATICVOIDMAIN(STRINGL]ARGS)(

PACKAGECYX.GECU义

SPRINGSECURITYGITHUB(MATERIAL)

SPRINGAPPLICATIONRUN(SPRINGSECURITYA

OM>YZXB>SPRINGSECURITY>GSPRINGSECURITYAPPL

GSPRINGSECURITYAPPLICATION

O@SPRINGBOOTAPPLICATION

ACOM.YZXB.SPRINGSECURITY

SPRINGSECURITYAPPLICATIONJAVAX

SPRINGSECURITYAPPLICATIO

9VERSIONCONTROL

>会SCRATCHESANDCONSOLES

>血EXTERNALLIBRARIES

团SPRINGSECURITYIML

14:1LFUTF-84SPACES

PRINGSECURITY

MHELP.MD

IMPORT..

OGITIGNORE

PROJECT

门.IDEA

MPOM.XML

口TARGET

NGSECURITYAPPLICATION.CLASS,ARGS);

2USAGES

>SPRINGSECURL

口SRC

立JAVA

V二MAIR

>CTEST

RITY>GSPRINGSECURITYAPPLICATI

LICATIONV

RC>MAIN


3.代码验证
1.引入web依赖
2.编写访问入口
3.启动工程验证

HELLOSPRINGSECURITY

LOCALHOST:8080/DEMO


2.整合SpringSecurity
1.引入依赖
2.启动验证
启动过程中会发现,日志已经有明显变化

EFALTOUTAGERTINFITERGAEDED,ONYSARINFRAON,ERITY,EDATHANTETINMMATCITENIATOITEKNETE,ONARINTREAONAEONTYWENAENAE

ETEACNEIAREITERIRTRTECR,ORGSORINGFRANEAORH.SEUITYWEH,ERYLETAPI.SECUNITYORTERTHDERMAREIEPUESTITEIAIS,ARNYSRNANTRATENIK.AEAUTAE

DIALENODELIEITARAGPOE,AMGSRINFARENORSEURITY,MEN,CREXTREQESTAEYNC.ITSNTBNAPEINEARETANFITETEFATAD,OURS,SRINGFRAERK.SEUNITYWE,ONTEXT

PNFRAENONESEURITYRNEOAUTERIETIN.LAUT,LCOUDFITERGTABDLE,RYSRINFRANEON,SEUNTY,TENARTERTATIO.AEMANEASORDHITEATIATAIHTENNOTO,O

TCOATETPARSTSTANEITE(TAE,ARNPARNINGFARENOK.AECUETYAEDTNEATENTEAERITEITAREREL,ARGARIRFTRENRNAEAIEAE.CERT.SATENGARAO,

,SORIRGFRARENORKSEURITY,NEB,AUTHERTITATIONUIEFAITLCGINPANGENERATINFITERGLVLESU,CRGSRINFRAEORK,SECURITYNED,UTENTIATIONU

ARNOUSUTETSNIORITERGEAR,ORGSPRINGFRANENONK,SECURITY,ET,SESION.SSIONLANAGERENFITER6C0E0,ORN.SRINFAREARKSEURITYVE)APSS

NMAINJO,S,S,REB,DEFAUITSECUNITYFIZTERCHAI7:ILSECUNEANYPEQUESTRZTNLORG.SPR2N9RAMENO,SECUYNTBE,SES4U

N]W,S,C,SEPOETLEBSEPVERAPLICATIONCONTEXT:RPOTWEBAPLICATIONCONTEXT:INITIALIZATIONCOMPLETEDINS30MS

,S,B.W.EMBEDDEDTOMCAT.TONCATLLEBSERVER:TOMCATSTANTEDONPORTS)OOD

,SONINGFRAMEWORK,SECUNITY.WEB.ACESS,INTENCEPT.FILTERSECURZTYLNTE"CEPU"E-"E""

:STARTEDSPRINGSECURITYAPPLICATIONIN0.663SECONDS(JVMRUNNINGFOR0.878)

THISGENERATEDPASSWORDISFORDEVELOPMENTUSEONLY.YOURSECUNITYCONFIGURATION

9个2023-08-0816:38:31.952INF032667---[

3-08-0816:39:22,626INF032667--[NI0-8080-EXEC-1]0.A,C-C.C.LT0MCAT].LLOCALN0ST).L/

AIN].S.S.USERDETAILSSERVICEAUTOCONFIGURATION:

:INITIALIZINGSPRINGEMBEDDEDWEBAPPLICATIONCONTEXT

..EXCEPTIONTRANSLATIONFILTER@55F8669D,ORGSPRINGFRAMEWORK

>ORG.SPRINGFRAMEWORK.BOOT:SPRING-BOOT-STARTER

>功ORG.SPRINGFRAMEWORK.BOOT:SPRING-BOOT-STARTER-

口2023-08-0816:38:31.952INF032667---

司司2023-08-0816:38:32.067WARN32667

24:125(23CHARS)LFUF-84SPACESDSSPRINGSECURITYMGITHUB(MATERIA)

2023-08-0816:38:32.0951NF032667-L

>ORG.SPRINGFRAMEWORK.BOOT:SPRING-BOOT-STARTER

2023-08-0816:38:32.114INF032667---[

SPRINGSECURITY将会拦截任意的HTP请求

FONERUNNINGYOUNAPPLICATIONLNPRODUCTIO.

MAIN]C.Y.S.SPRINGSECURITYAPPA

MAIN]O,A.C.C.C.[TOMCAT].[LOCALHOST].[/]

2023-08-0816:38:32.118INF032667---[

USINGGENERATEDSECURITYPASSWORD:E201F3A8-3DB8-4A0

RETURN"HELLOSPRINGSECURITY"

RUNCSPRINGSECURITYAPPLICATIONX

回COM.YZXB.SPRINGSECURITY

PUBLICCLASSHELLOCONTROLLER

PUBLICSTRINGHELLOWORLD()

CDSPRINGSECURITYAPPLICATION

PRINGSECURITY>SRCMAINJAVACOY

QUESTMAPPING(VDEMO)

TIONMUSTBEUPDATEDBERORERUNNGYOOAPP

CCONSOLEYACTUATOR

MSPRINGSECURITY

十X

9VERSIONCONTROL

LDEPENDENCIES

PRINGSECURITYAPPLICATIONJAVA

VAMPOM.XML(SPRINGSECURITY)

INITIALIZINGSPRINGDISPATCHERSERVLET'DISPATCHERSERVLET'

.SECUNITYCONTEXTPERSISTENCEFILTER@15FD1F2,ONG.SPRINGFRAMEWORK,SECUNITY.WEB,HEADER.HEADERW

OHELLOCONTROLLER

OHELLOCONTROLLERJAVA

>C6LIFECYCLE

NNTALER)NHEON

GGETMAPPING雷

默认的密码

PRINGSECURITY

L门MAPPER

>LPLUGINS

VAWEB

NOUSAGES

3山一

日兰

ASERVICE

VDMAIN

PROJECT

V立SRC

MAIN]W.S.C.SERVLETWEBSERVERAPPLICATIONC

AVEN

.HSORINGSECURTYWO

.ANONYMOUSAUTHENTICATIONFILTER@5E8604BF,ORG.SPNINGFRAMEWORK.SE

X

金1A1

口JAVA

9S

0

品S1N99E

DB8-4A02-B985-9F276B14C6D7

25

G


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

PLEASESIGNIN

Q阳西寿口国新

OLOCALHOST:8080/LOGIN

USERNAME

SIGNN

PASSWORD

PLEASESIGNIN

C


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

HELLOSPRINGSECURITY

LOCALHOST:8O8ODEMO

LOCALHOST:8080/DEMO


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

1 人点赞

1

油炸

相关文章
|
机器学习/深度学习 存储 算法
【轻量化网络】概述网络进行轻量化处理中的:剪枝、蒸馏、量化
【轻量化网络】概述网络进行轻量化处理中的:剪枝、蒸馏、量化
798 0
|
前端开发
bat 批处理文件 结束node进程 杀死指定端口
bat 批处理文件 结束node进程 杀死指定端口
|
4月前
|
消息中间件 运维 物联网
语音通知
语音通知服务适用于科技公司服务器或物联网设备异常时的告警通知。通过语音电话形式,向处理人播报预设模板内容,支持变量替换实现个性化提醒。需开通语音服务并申请资质、话术、号码及模板,可通过API发起呼叫并查询记录,支持主动查询与消息回执两种结果获取方式,提升运维响应效率。
语音通知
|
4月前
|
JSON 安全 机器人
钉钉通知
本文介绍如何通过Java代码调用钉钉机器人API实现系统告警消息推送。内容涵盖机器人创建、Webhook配置、Postman测试及Java代码实现,并提供限流策略与关键词安全设置等最佳实践,助力实时监控与异常通知。
|
4月前
|
安全 Java 应用服务中间件
4.认识SpringSecurity
Spring Security 是 Spring 生态中的安全框架,提供认证、授权及安全防护功能。支持多种认证方式(如表单、OAuth2、JWT等),基于过滤器链实现请求控制,可防御 CSRF 等攻击,保障 Web 应用安全。
|
19天前
|
存储 人工智能 自然语言处理
玩转OpenClaw!基础介绍+功能场景+部署教程详细解读
OpenClaw是一款开源、本地优先的AI智能体执行网关,让大模型从“能说会道”升级为“能干实事”的数字员工。支持文件操作、浏览器自动化、多IM接入与任务编排,兼顾隐私安全与全场景自动化。
860 7
|
机器学习/深度学习 PyTorch 算法框架/工具
【PyTorch实战演练】使用Cifar10数据集训练LeNet5网络并实现图像分类(附代码)
【PyTorch实战演练】使用Cifar10数据集训练LeNet5网络并实现图像分类(附代码)
895 0
|
机器学习/深度学习 自然语言处理 测试技术
社区供稿 | RWKV-6-World 14B正式开源发布,迄今最强的稠密纯RNN大语言模型
2024年7月19日,RWKV 开源基金会宣布正式向全球开源 RWKV-6-World 14B 模型。
|
并行计算 JavaScript 前端开发
单线程模型
【10月更文挑战第15天】
|
算法 搜索推荐
数据结构与算法学习十八:堆排序
这篇文章介绍了堆排序是一种通过构建堆数据结构来实现的高效排序算法,具有平均和最坏时间复杂度为O(nlogn)的特点。
599 0
数据结构与算法学习十八:堆排序

热门文章

最新文章