OAuth2.0实战案例

本文涉及的产品
RDS DuckDB + QuickBI 企业套餐,8核32GB + QuickBI 专业版
简介: 本教程介绍如何搭建Spring Boot集成Security与OAuth2的项目,包括创建父工程、配置依赖管理、添加资源模块及数据库连接,实现安全认证服务的基础架构。

1.创建父工程

<groupId>com.itheima</groupId>

<artifactId>springboot_security_oauth</artifactId>

<version>1.0-SNAPSHOT</version>


<parent>

 <groupId>org.springframework.boot</groupId>

 <artifactId>spring-boot-starter-parent</artifactId>

 <version>2.1.3.RELEASE</version>

 <relativePath/>

</parent>


<properties>

 <spring-cloud.version>Greenwich.RELEASE</spring-cloud.version>

</properties>

<dependencyManagement>

 <dependencies>

   <dependency>

     <groupId>org.springframework.cloud</groupId>

     <artifactId>spring-cloud-dependencies</artifactId>

     <version>${spring-cloud.version}</version>

     <type>pom</type>

     <scope>import</scope>

   </dependency>

 </dependencies>

</dependencyManagement>


<repositories>

 <repository>

   <id>spring-snapshots</id>

   <name>Spring Snapshots</name>

   <url>https://repo.spring.io/snapshot</url>

   <snapshots>

     <enabled>true</enabled>

   </snapshots>

 </repository>

 <repository>

   <id>spring-milestones</id>

   <name>Spring Milestones</name>

   <url>https://repo.spring.io/milestone</url>

   <snapshots>

     <enabled>false</enabled>

   </snapshots>

 </repository>

</repositories>

2.创建资源模块

2.1 创建工程并导入依赖

<parent>

 <artifactId>springboot_security_oauth</artifactId>

 <groupId>com.itheima</groupId>

 <version>1.0-SNAPSHOT</version>

</parent>

<modelVersion>4.0.0</modelVersion>

<artifactId>oauth_source</artifactId>


<dependencies>

 <dependency>

   <groupId>org.springframework.boot</groupId>

   <artifactId>spring-boot-starter-web</artifactId>

 </dependency>

 <dependency>

   <groupId>org.springframework.boot</groupId>

   <artifactId>spring-boot-starter-security</artifactId>

 </dependency>

 <dependency>

   <groupId>org.springframework.cloud</groupId>

   <artifactId>spring-cloud-starter-oauth2</artifactId>

 </dependency>

 <dependency>

   <groupId>mysql</groupId>

   <artifactId>mysql-connector-java</artifactId>

   <version>5.1.47</version>

 </dependency>

 <dependency>

   <groupId>org.mybatis.spring.boot</groupId>

   <artifactId>mybatis-spring-boot-starter</artifactId>

   <version>2.1.0</version>

 </dependency>

</dependencies>

2.2 创建配置文件

server:

port: 9002

spring:

datasource:

 driver-class-name: com.mysql.jdbc.Driver

 url: jdbc:mysql:///security_authority

 username: root

 password: root

main:

 allow-bean-definition-overriding: true

mybatis:

type-aliases-package: com.itheima.domain

configuration:

 map-underscore-to-camel-case: true

logging:

level:

 com.itheima: debug

相关文章
|
前端开发 Java
日志框架:基于Logback实现链路追踪
日志框架:基于Logback实现链路追踪
|
5月前
|
安全
CSRF攻击
CSRF(跨站请求伪造)攻击利用用户登录态,诱导其发起非自愿的请求,实现盗取资金、冒发帖子等恶意操作。攻击者通过钓鱼页面伪造请求,借助用户身份执行未授权操作。防御手段包括:使用Token验证、SameSite Cookie、检查Referer、避免GET修改数据等,可有效降低风险。
|
存储 自然语言处理 关系型数据库
谷粒商城笔记+踩坑(9)——上架商品spu到ES索引库
ES回顾、【查询模块】保存ES文档、【库存模块】库存量查询、【商品模块】上架单个spu
谷粒商城笔记+踩坑(9)——上架商品spu到ES索引库
|
存储 前端开发 Java
谷粒商城笔记+踩坑(19)——订单模块构建、登录拦截器
首先搭建页面环境,然后介绍整合Spring Session的相关内容,并将用户信息放到session里,多线程优化,完成订单模块的功能、登录拦截等功能的实现
谷粒商城笔记+踩坑(19)——订单模块构建、登录拦截器
|
SQL 安全 Java
微服务之Springboot整合Oauth2.0 + JWT
微服务之Springboot整合Oauth2.0 + JWT
506 1
|
Web App开发 存储 安全
就一次!带你彻底搞懂CSRF攻击与防御
与XSS攻击相比,利用CSRF漏洞发动攻击会比较困难,这也是在网络上看起来CSRF的人气小于XSS的原因之一。下面我们来利用CSRF漏洞发起攻击,并针对攻击进行防御,彻底弄懂CSRF,话不多说,我们直接开冲。
|
安全 Java Apache
Java中的单点登录(SSO)解决方案
Java中的单点登录(SSO)解决方案
|
监控 Java 应用服务中间件
【微服务系列笔记】Sentinel入门-微服务保护
Sentinel是一个开源的分布式系统和应用程序的运维监控平台。它提供了实时数据收集、可视化、告警和自动化响应等功能,帮助用户监控和管理复杂的IT环境。本文简单介绍了微服务保护以及常见雪崩问题,解决方案。以及利用sentinel进行入门案例。
569 3
|
Java
JDK8中JVM堆内存划分
JDK8中JVM堆内存划分
310 0
|
XML 缓存 Java
十一.Spring源码剖析-事务源码之@Transactionl解析
在上一章我们分析了Spring的AOP的源码,本篇文章是对事务的源码分析,我们都知道事务的管理是基于AOP实现的,所以有了上一篇的铺垫这一章会比较简单一点。 事务的源码我会分两章写,一张写Transcational的解析,一张写事务的执行流程。先上一个图,待会儿可以根据这个图来看源码