分布式整合之资源服务器搭建和测试|学习笔记

简介: 快速学习分布式整合之资源服务器搭建和测试

开发者学堂课程【Spring Security知识精讲与实战演示(三)分布式整合之资源服务器搭建和测试】学习笔记与课程紧密联系,让用户快速学习知识

课程地址https://developer.aliyun.com/learning/course/732/detail/13074


分布式整合之资源服务器搭建和测试

 

资源服务器搭建和测试

首先创建一个名称为heima_source_product的资源服务

image.png

之后导入pom.xml价包和application.yml配置文件

配置文件中priKeyFile: D: lauth key \id key rsa要删除,之前说到:除了中心能拿到私钥,其他都不能拿到私钥。

配置文件内容:

server :

port: 9002

spring:

datasource:

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

ur1: jdbc :mysql:lllsecurity_authority

username: root

password: root

mybatis:

type-aliases-package: com itheima. Domain

configuration:

map-underscore-to-came1-case: true

logging:

level:

com itheima: debug

rsa:

key:

pubKeyFile; D: \auth_keylid_key_rsa.pub

拥有一个自定义的配置文件就必须要有一个自定义的解析配置文件的对象。

下面要创建一个package,com.itheima.config,之后将RasKeyProperties工具类拿到com.itheima.config下,可以将里面关于私钥的内容全部删除。

之后将启动类也拿到com.itheima.config下,

改为AuthSourceApplication

内容:package com itheima;

import ...

@SpringBootApplication

@MapperScan("com itheima. mapper"")

@EnableConfigurationProperties(RsaKeyProperties.class)

public class AuthSourceApplication {

public static void main(String[] args){

SpringApplication. run(AuthSourceApplication. class, args);

}

}

下图是所需内容:

image.png

WebSecurityConfig中只需要

import …

@Configuration

@EnableWebSecurity

@EnableGlobalMethodSecurity(securedEnabled=true)

public class WebSecurityConfig extends WebSecurityConfigurerAdapter {

@Autowired

private RsaKeyProperties prop;

//Spring Security配置信息

public void configure(HttpSecurity http) throws Exception {

http.csrf() CsrfConfigurer<HttpSecurity>

.disable() HttpSecurity

.authorizeRequests()ExpressionInterceptUrlRegistry

.antMatchers(...antPatterns:"/product").hasAnyRole ...roles:"USBR")

.anyRequest()ExpressionUrlAuthorizationConfigurer<Hittpsed.authenticated()ExpressionUrlAuthorizationConfigurer<HttpSecurity>.ExpressionInterceptUrlRegistry

.and() HttpSecurity

.addFilter(newJwtLoginFilter(super.authenticationManager(),prop)) HttpSecurity

.addFilter(newJwtVerifyFilter(super.authenticationManager(),prop);.sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS) ;

}

}

因为@EnableGlobalMethodSecurity(securedEnabled

=true)是一个权限校验的注解,故可以将ProductController copy过来

ProductController内容:

package com itheima.controller;

import ...

@RestController

CRequestMapp ing("/product")

public class ProductController {

//@Secured("ROLE_PRODUCT")

@RequestMapping(""/findA11")

public String findAl1() { return"产品列表查询成功!";〕

}

下面进行测试,

image.png

注意,9002中也有一个请求,token失效时间是一天,目前token还能使用,如果将http://localhost:9001/product/findAll改为

http://localhost:9002/product/findAll也是可以查询成功的。之后进行另一个测试,将ProductController中的动态授权打开,重新启动9002,如果出现403,证明动态授权依然是可用的。动态授权是否可用取决于校验认证里的use.getAuthorities()参数。继续测试发现结果是“status”:403权限不足

image.png

image.png

Spring Security整合Spring Boot分布式版认证要加入JWT和rsa,在企业开发中如果不加入这两样,只要能保证token安全也是可以的,但是不推荐这样使用。

相关文章
|
4月前
|
C# 图形学 开发者
Unity开发中使用UnityWebRequest从HTTP服务器下载资源。
总之,UnityWebRequest就是游戏开发者手中的万能钓鱼竿,既可以获取文本数据,也能钓上图片资源,甚至是那声音的涟漪。使用UnityWebRequest的时候,你需要精心准备,比如确定URL、配置请求类型和头信息;发起请求;巧妙处理钓获的数据;还需要机智面对网络波澜,处理各种可能出现的错误。按照这样的过程,数据的钓取将会是一次既轻松愉快也效率高效的编程钓鱼之旅。
215 18
|
6月前
|
缓存 人工智能 架构师
释放数据潜力:利用 MCP 资源让大模型读懂你的服务器
MCP(Model Control Protocol)资源系统是将服务器数据暴露给客户端的核心机制,支持文本和二进制两种类型资源。资源通过唯一URI标识,客户端可通过资源列表或模板发现资源,并使用`resources/read`接口读取内容。MCP还支持资源实时更新通知及订阅机制,确保动态数据的及时性。实现时需遵循最佳实践,如清晰命名、设置MIME类型和缓存策略,同时注重安全性,包括访问控制、路径清理和速率限制等。提供的示例代码展示了如何用JavaScript和Python实现资源支持。
719 80
|
6月前
|
JavaScript 数据可视化 Docker
简易制作MCP服务器并测试
本文介绍了如何简易制作并测试MCP服务器,包括环境搭建、代码实现及Docker部署。首先通过uv包创建项目,在main.py中定义MCP服务器及其工具和资源函数。接着详细说明了在Windows上安装uv、配置Docker镜像加速、生成requirements.txt文件以及编写Dockerfile的过程。最后,通过构建和运行Docker容器部署MCP服务器,并使用Node.js工具测试其功能,确保服务器正常工作。此教程适合初学者快速上手MCP服务器的开发与部署。
2462 63
|
11月前
|
运维 Prometheus 监控
如何在测试环境中保持操作系统、浏览器版本和服务器配置的稳定性和一致性?
如何在测试环境中保持操作系统、浏览器版本和服务器配置的稳定性和一致性?
|
7月前
|
自然语言处理 安全 开发工具
分享一个纯净无广、原版操作系统、开发人员工具、服务器等资源免费下载的网站
分享一个纯净无广、原版操作系统、开发人员工具、服务器等资源免费下载的网站
305 4
|
8月前
|
存储 人工智能 并行计算
2025年阿里云弹性裸金属服务器架构解析与资源配置方案
🚀 核心特性与技术创新:提供100%物理机性能输出,支持NVIDIA A100/V100 GPU直通,无虚拟化层损耗。网络与存储优化,400万PPS吞吐量,ESSD云盘IOPS达100万,RDMA延迟<5μs。全球部署覆盖华北、华东、华南及海外节点,支持跨地域负载均衡。典型应用场景包括AI训练、科学计算等,支持分布式训练和并行计算框架。弹性裸金属服务器+OSS存储+高速网络综合部署,满足高性能计算需求。
|
8月前
|
机器学习/深度学习 运维 资源调度
深度学习在资源利用率优化中的应用:让服务器更聪明
深度学习在资源利用率优化中的应用:让服务器更聪明
313 6
|
8月前
|
SQL 运维 关系型数据库
体验用分布式数据库突破资源瓶颈,完成任务领智能台灯!
体验用分布式数据库突破资源瓶颈,完成任务领智能台灯!
|
9月前
|
弹性计算 运维 Kubernetes
使用ACK Edge统一管理多地域的ECS资源
本文介绍如何使用ACK Edge来管理分布在多个地域的ECS资源。
|
8月前
|
弹性计算 运维 Kubernetes
使用ACK Edge统一管理多地域的ECS资源
使用ACK Edge统一管理多地域的ECS资源

热门文章

最新文章