案例之权限相关测试|学习笔记

简介: 快速学习案例之权限相关测试

开发者学堂课程【Spring Security知识精讲与实战演示(四)案例之权限相关测试】学习笔记与课程紧密联系,让用户快速学习知识

课程地址:https://developer.aliyun.com/learning/course/733/detail/13094


案例之权限相关测试

 

一、权限相关测试

测试了四种模式加刷新token模式,什么是进行认证,接下来进行权限相关的测试,比如在hemia_two中涉及到访问权限是product_api,那就意味着只能去访问当前OauthSourceConfig资源,因为这个资源下的 ID 是product_api,假如说把下面改了或者把表改了,在后面加一个后缀,导致访问的权限与现有的资源中访问得不一致,那么现在再用two来申请客户端是否能正常访问资源服务?

选择授权码模式,之后直接在网址后面写two,现在得到了一个新的授权码,将用户名和密码栏去掉,grand_type撤销。

image.png

直接生成一个 token,token 是可以正常生成的,接下来到访问得地方,直接请求,会发现当前的 token 不能访问,是因为权限不足。

image.png

所以说ID至关重要一定要写对,写错就会出现如上情况

image.png

如果我们需要一个访问权限应该怎样控制呢?可以去写一些类似于之前config动态控制权限数据比如可以在下面写上 @EnableGlobaMethodSecurity 如下图。使用内置的动态权限控制方式。之后可以在上面做一个控制,比如希望它的控制权限是@Secured(“ROLE_PRODUCT”)改完之后需要对资源进行一个重启,因为修改了配置类也修改了代码,就必须要重启。

image.png

再一次在网址后改成two,现在是有product_api 访问权限的,将 token的授权码做一个替换,再生成一个token,拿到token后复制,再次来访问。会发现这次是权限不足不足以访问。因为设置了访问权限必须有ROLE_PRODUCT 。没有就无法访问,可见只要按这套流程做完,就不仅仅做到了服务间的动态授权,比如B服务可以授予A服务访问它的权限,而且在访问B中的资源的时候也可以做到动态授权其实oAuth里面很多授权机制与这个是相通的只要练熟练会。那么在企业开发中使用oAuth2就没有问题了。

相关文章
|
1月前
|
测试技术
自动化测试项目学习笔记(五):Pytest结合allure生成测试报告以及重构项目
本文介绍了如何使用Pytest和Allure生成自动化测试报告。通过安装allure-pytest和配置环境,可以生成包含用例描述、步骤、等级等详细信息的美观报告。文章还提供了代码示例和运行指南,以及重构项目时的注意事项。
181 1
自动化测试项目学习笔记(五):Pytest结合allure生成测试报告以及重构项目
|
19天前
|
Web App开发 定位技术 iOS开发
Playwright 是一个强大的工具,用于在各种浏览器上测试应用,并模拟真实设备如手机和平板。通过配置 `playwright.devices`,可以轻松模拟不同设备的用户代理、屏幕尺寸、视口等特性。此外,Playwright 还支持模拟地理位置、区域设置、时区、权限(如通知)和配色方案,使测试更加全面和真实。例如,可以在配置文件中设置全局的区域设置和时区,然后在特定测试中进行覆盖。同时,还可以动态更改地理位置和媒体类型,以适应不同的测试需求。
Playwright 是一个强大的工具,用于在各种浏览器上测试应用,并模拟真实设备如手机和平板。通过配置 `playwright.devices`,可以轻松模拟不同设备的用户代理、屏幕尺寸、视口等特性。此外,Playwright 还支持模拟地理位置、区域设置、时区、权限(如通知)和配色方案,使测试更加全面和真实。例如,可以在配置文件中设置全局的区域设置和时区,然后在特定测试中进行覆盖。同时,还可以动态更改地理位置和媒体类型,以适应不同的测试需求。
20 1
|
1月前
|
测试技术 Python
自动化测试项目学习笔记(四):Pytest介绍和使用
本文是关于自动化测试框架Pytest的介绍和使用。Pytest是一个功能丰富的Python测试工具,支持参数化、多种测试类型,并拥有众多第三方插件。文章讲解了Pytest的编写规则、命令行参数、执行测试、参数化处理以及如何使用fixture实现测试用例间的调用。此外,还提供了pytest.ini配置文件示例。
27 2
|
1月前
|
测试技术 Python
自动化测试项目学习笔记(二):学习各种setup、tearDown、断言方法
本文主要介绍了自动化测试中setup、teardown、断言方法的使用,以及unittest框架中setUp、tearDown、setUpClass和tearDownClass的区别和应用。
63 0
自动化测试项目学习笔记(二):学习各种setup、tearDown、断言方法
|
1月前
|
分布式计算 大数据 Spark
大数据-95 Spark 集群 SparkSQL Action与Transformation操作 详细解释与测试案例(二)
大数据-95 Spark 集群 SparkSQL Action与Transformation操作 详细解释与测试案例(二)
40 1
|
2月前
|
前端开发 机器人 测试技术
【RF案例】Web自动化测试弹窗处理
在进行Web自动化测试时,常会遇到不同类型的弹窗,如ajax、iframe、新窗口及alert/Confirm等。这些弹窗可通过Selenium进行定位与处理。其中,ajax弹窗直接定位处理;iframe需先选中再操作;新窗口类似iframe处理;而alert/Confirm则需特殊方法应对。在Robot Framework中,需先定义并获取窗口后使用特定关键字处理。此外,还有部分div弹窗需在消失前快速定位。希望本文能帮助大家更好地处理各类弹窗。
42 6
【RF案例】Web自动化测试弹窗处理
|
1月前
|
存储 SQL 分布式计算
大数据-95 Spark 集群 SparkSQL Action与Transformation操作 详细解释与测试案例(一)
大数据-95 Spark 集群 SparkSQL Action与Transformation操作 详细解释与测试案例(一)
40 0
支付系统---微信支付14----创建案例项目---介绍,第二步引入Swagger,接口文档和测试页面生成工具,定义统一结果的目的是让结果变得更加规范,以上就是谷粒项目的几个过程
支付系统---微信支付14----创建案例项目---介绍,第二步引入Swagger,接口文档和测试页面生成工具,定义统一结果的目的是让结果变得更加规范,以上就是谷粒项目的几个过程
|
4月前
|
JSON 数据格式
postman 实用教程(含带 token 访问需登录权限的接口、测试文件上传接口、测试文件下载接口)
postman 实用教程(含带 token 访问需登录权限的接口、测试文件上传接口、测试文件下载接口)
653 0
|
5月前
|
Java
JavaSE——集合框架二(6/6)-(案例)补充知识:集合的嵌套(需求与分析、问题解决、运行测试)
JavaSE——集合框架二(6/6)-(案例)补充知识:集合的嵌套(需求与分析、问题解决、运行测试)
77 0