OAuth2.0实战案例2

简介: 本节介绍如何创建一个基于Spring Boot的资源服务模块,包括工程搭建、依赖导入(如Web、Security、OAuth2等)、配置文件设置、启动类与Mapper扫描,以及编写简单的商品查询接口,实现基础资源访问功能。

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

2.3 创建启动类

@SpringBootApplication

@MapperScan("com.itheima.mapper")

public class OAuthSourceApplication {

   public static void main(String[] args) {

       SpringApplication.run(OAuthSourceApplication.class, args);

   }

}

2.4 创建处理器

@RestController

@RequestMapping("/product")

public class ProductController {

   @GetMapping

   public String findAll(){

       return "查询产品列表成功!";

   }

}

相关文章
|
23小时前
|
存储 安全 数据安全/隐私保护
认识OAuth2.0
OAuth2.0是一种开放授权协议,允许第三方应用在用户授权下安全访问资源,无需获取用户账号密码。其核心是通过令牌(token)机制实现权限控制,广泛用于第三方登录、服务间资源调用等场景。支持多种授权模式,其中授权码模式最安全,适用于Web和移动应用,如微信、QQ登录即基于此模式实现。
认识OAuth2.0
|
23小时前
|
安全 Java 数据库
RememberMe基本用法
本文介绍Spring Security中RememberMe功能的实现原理及优化方案。通过配置自动登录,用户勾选后可持久化会话,避免重复登录。系统通过remember-me令牌识别用户,但存在安全风险。为提升安全性,建议将Token持久化至数据库,并增加二次校验机制,防止令牌泄露导致的安全问题。
RememberMe基本用法
|
23小时前
|
数据安全/隐私保护
RememberMe简介及用法
RememberMe功能并非简单保存用户名密码,而是服务器端维持登录状态的机制。用户关闭浏览器后重新打开,仍可保持登录,提升体验,区别于传统Session会话需重复登录的方式。
|
23小时前
|
安全 Java 数据库
自定义认证实现流程
本文介绍如何在Spring Security中实现自定义用户认证。首先创建自定义UserDetailsService,实现loadUserByUsername方法,从数据库加载用户信息与权限;然后在SecurityConfig中注册该服务,配置登录逻辑与权限规则。通过整合持久层,完成基于数据库的认证流程,重启项目后即可生效。
自定义认证实现流程
|
1天前
|
安全 Java Spring
DelegatingFilterProxy
本文解析Spring Security核心过滤器DelegatingFilterProxy源码,重点说明其如何通过web.xml配置的springSecurityFilterChain名称,动态获取FilterChainProxy并执行过滤链,揭示Spring安全过滤机制的底层实现原理。
DelegatingFilterProxy
|
23小时前
|
前端开发
自定义认证前端页面
将提供的 login.html 文件路径复制到指定位置,若无对应文件夹需手动创建。参考附图示例操作,确保文件正确存放。
|
23小时前
4.2 简化模式测试
通过本地地址访问授权接口,用户登录后无需重复认证,直接返回token。授权页面提示授予read/write权限,选择Approve后跳转回调地址获取授权码,并用其向服务器申请通行令牌(token),完成OAuth流程。
|
1天前
|
安全 Java jenkins
Spring Boot 多环境配置与 Profile 实战
Spring Boot通过Profile实现多环境配置,支持dev、test、prod等环境的独立配置。通过application-{profile}.yml分离配置,结合spring.profiles.active动态激活,实现一套代码适配多套环境,提升部署效率与安全性。
|
23小时前
|
Java 数据库连接 数据库
OAuth2.0实战案例3
本节介绍如何创建OAuth2授权模块,包括项目搭建、依赖导入、配置文件编写及核心类配置,实现基于Spring Security与OAuth2的认证授权功能,支持数据库存储客户端与令牌信息。
|
23小时前
|
安全 Java Spring
OAuth2.0实战案例
创建基于Spring Boot与Spring Cloud的父工程,配置OAuth安全认证基础环境,统一管理依赖版本及仓库源。

热门文章

最新文章