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

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

开发者学堂课程【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安全也是可以的,但是不推荐这样使用。

相关文章
|
2月前
|
运维 Prometheus 监控
如何在测试环境中保持操作系统、浏览器版本和服务器配置的稳定性和一致性?
如何在测试环境中保持操作系统、浏览器版本和服务器配置的稳定性和一致性?
|
13天前
|
运维 数据挖掘 索引
服务器数据恢复—Lustre分布式文件系统服务器数据恢复案例
5台节点服务器,每台节点服务器上有一组RAID5阵列。每组RAID5阵列上有6块硬盘(其中1块硬盘设置为热备盘,其他5块硬盘为数据盘)。上层系统环境为Lustre分布式文件系统。 机房天花板漏水导致这5台节点服务器进水,每台服务器都有至少2块硬盘出现故障。每台服务器中的RAID5阵列短时间内同时掉线2块或以上数量的硬盘,导致RAID崩溃,服务器中数据无法正常读取。
|
1月前
|
安全 云计算
服务器系统资源不足怎么办
服务器系统资源不足怎么办
36 4
|
2月前
|
存储 人工智能 弹性计算
阿里云弹性计算(ECS)提供强大的AI工作负载平台,支持灵活的资源配置与高性能计算,适用于AI训练与推理
阿里云弹性计算(ECS)提供强大的AI工作负载平台,支持灵活的资源配置与高性能计算,适用于AI训练与推理。通过合理优化资源分配、利用自动伸缩及高效数据管理,ECS能显著提升AI系统的性能与效率,降低运营成本,助力科研与企业用户在AI领域取得突破。
65 6
|
2月前
|
缓存 Ubuntu Linux
Linux环境下测试服务器的DDR5内存性能
通过使用 `memtester`和 `sysbench`等工具,可以有效地测试Linux环境下服务器的DDR5内存性能。这些工具不仅可以评估内存的读写速度,还可以检测内存中的潜在问题,帮助确保系统的稳定性和性能。通过合理配置和使用这些工具,系统管理员可以深入了解服务器内存的性能状况,为系统优化提供数据支持。
50 4
|
3月前
|
存储 监控 网络协议
服务器压力测试是一种评估系统在极端条件下的表现和稳定性的技术
【10月更文挑战第11天】服务器压力测试是一种评估系统在极端条件下的表现和稳定性的技术
176 32
|
3月前
|
缓存 监控 测试技术
服务器压力测试
【10月更文挑战第11天】服务器压力测试
111 31
|
3月前
|
测试技术
自动化测试项目学习笔记(五):Pytest结合allure生成测试报告以及重构项目
本文介绍了如何使用Pytest和Allure生成自动化测试报告。通过安装allure-pytest和配置环境,可以生成包含用例描述、步骤、等级等详细信息的美观报告。文章还提供了代码示例和运行指南,以及重构项目时的注意事项。
335 1
自动化测试项目学习笔记(五):Pytest结合allure生成测试报告以及重构项目
|
3月前
|
测试技术 Python
自动化测试项目学习笔记(四):Pytest介绍和使用
本文是关于自动化测试框架Pytest的介绍和使用。Pytest是一个功能丰富的Python测试工具,支持参数化、多种测试类型,并拥有众多第三方插件。文章讲解了Pytest的编写规则、命令行参数、执行测试、参数化处理以及如何使用fixture实现测试用例间的调用。此外,还提供了pytest.ini配置文件示例。
67 2
|
3月前
|
SQL 分布式计算 NoSQL
大数据-170 Elasticsearch 云服务器三节点集群搭建 测试运行
大数据-170 Elasticsearch 云服务器三节点集群搭建 测试运行
62 4