Spring Security:身份验证处理AuthenticationManager介绍与Debug分析
AuthenticationManager
处理Authentication
请求,上一篇博客已经介绍了Authentication
,Spring Security
在进行身份验证时,会创建身份验证令牌,即Authentication
实例,提供给AuthenticationManager
接口的实现进行处理。
- Spring Security:身份验证令牌Authentication介绍与Debug分析
public interface AuthenticationManager {/*** 尝试对传递的Authentication对象进行身份验证* 如果验证成功,则返回完全填充的Authentication对象(包括授予的权限)* AuthenticationManager必须遵守以下关于异常的约定:* 如果帐户被禁用并且AuthenticationManager可以测试此状态,则必须抛出DisabledException* 如果帐户被锁定并且AuthenticationManager可以测试帐户锁定,则必须抛出LockedException* 如果提供了不正确的凭证(比如密码),则必须抛出BadCredentialsException* 参数:authentication - 身份验证请求对象* 返回:一个完全经过身份验证的对象,包括凭证*/Authentication authenticate(Authentication authentication)throws AuthenticationException;
}
AuthenticationManager
接口只有一个实用的实现类ProviderManager
,其他的实现类都是内部类,并且不提供身份验证处理的具体实现。
ProviderManager
通过AuthenticationProvider
列表迭代验证Authentication
请求。AuthenticationProvider
通常会按顺序尝试,直到提供非空响应,非空响应表示AuthenticationProvider
有权决定身份验证请求,并且不再尝试其他AuthenticationProvider
。 如果后续AuthenticationProvider
成功验证了请求,则忽略之前的验证异常并使用成功的验证。如果没有后续AuthenticationProvider
提供非空响应或新的AuthenticationException
,则将使用最后收到的AuthenticationException
。
如果没有AuthenticationProvider
返回非空响应,或者表明它可以处理Authentication
,则ProviderManager
将抛出ProviderNotFoundException
。也可以设置父AuthenticationManager
,如果配置的AuthenticationProvider
都不能执行身份验证,也会尝试这样做。
此过程的例外情况是AuthenticationProvider
抛出AccountStatusException
,在这种情况下,将不会查询列表中的其他AuthenticationProvider
。身份验证后,如果它实现了CredentialsContainer
接口,则将从返回的Authentication
对象中清除凭证。可以通过修改eraseCredentialsAfterAuthentication
属性来控制此行为。
身份验证事件发布被委托给配置的AuthenticationEventPublisher
,它默认为不发布事件的空实现,如果想接收事件,则必须设置AuthenticationEventPublisher
,标准实现是DefaultAuthenticationEventPublisher
,它将常见异常映射到事件(在身份验证失败的情况下),并在身份验证成功时发布AuthenticationSuccessEvent
。
public class ProviderManager implements AuthenticationManager, MessageSourceAware,InitializingBean {private static final Log logger = LogFactory.getLog(ProviderManager.class);// 用于验证事件的发布private AuthenticationEventPublisher eventPublisher = new NullEventPublisher();// 用于验证Authentication的AuthenticationProvider列表private List<AuthenticationProvider> providers = Collections.emptyList();// 用于访问来自MessageSource的消息protected MessageSourceAccessor messages = SpringSecurityMessageSource.getAccessor();// 父AuthenticationManagerprivate AuthenticationManager parent;// 验证之后是否删除凭证private boolean eraseCredentialsAfterAuthentication = true;/*** 使用给定的多个AuthenticationProvider构造一个ProviderManager*/public ProviderManager(AuthenticationProvider... providers) {this(Arrays.asList(providers), null);}/*** 使用给定的AuthenticationProvider列表构造一个ProviderManager*/public ProviderManager(List<AuthenticationProvider> providers) {this(providers, null);}/*** 使用提供的参数构造一个ProviderManager* providers - 要使用的AuthenticationProvider列表* parent - 要回退到的父AuthenticationManager*/public ProviderManager(List<AuthenticationProvider> providers,AuthenticationManager parent) {Assert.notNull(providers, "providers list cannot be null");this.providers = providers;this.parent = parent;checkState();}// 在Properties设置之后检查状态public void afterPropertiesSet() {checkState();}// 检查状态private void checkState() {if (parent == null && providers.isEmpty()) {throw new IllegalArgumentException("A parent AuthenticationManager or a list "+ "of AuthenticationProviders is required");} else if (providers.contains(null)) {throw new IllegalArgumentException("providers list cannot contain null values");}}/*** 尝试对传递的Authentication对象进行身份验证* 将连续尝试AuthenticationProvider的列表* 直到AuthenticationProvider指示它能够验证传递的Authentication对象的类型* 然后将尝试使用该AuthenticationProvider进行身份验证* 如果多个AuthenticationProvider支持传递的Authentication对象* 则第一个能够成功验证Authentication对象的人会确定result* 成功认证后,不会尝试后续的AuthenticationProvider* 如果任何支持AuthenticationProvider的身份验证未成功* 则抛出AuthenticationException*/public Authentication authenticate(Authentication authentication)throws AuthenticationException {// Authentication实例的类型Class<? extends Authentication> toTest = authentication.getClass();// 最后要抛出的异常AuthenticationException lastException = null;// 父AuthenticationManager要抛出的异常AuthenticationException parentException = null;// 验证结果Authentication result = null;// 父AuthenticationManager的验证结果Authentication parentResult = null;boolean debug = logger.isDebugEnabled();// 遍历AuthenticationProvider列表for (AuthenticationProvider provider : getProviders()) {// 如果该AuthenticationProvider实例不支持Authentication实例的类型,则continueif (!provider.supports(toTest)) {continue;}if (debug) {logger.debug("Authentication attempt using "+ provider.getClass().getName());}try {// 使用AuthenticationProvider实例验证authenticationresult = provider.authenticate(authentication);if (result != null) {// 如果验证结果不为null,则填充result// 并且退出后续的验证copyDetails(authentication, result);break;}}catch (AccountStatusException | InternalAuthenticationServiceException e) {prepareException(e, authentication);// SEC-546: 如果身份验证失败是由于无效的帐户状态引起的,避免轮询其他AuthenticationProviderthrow e;} catch (AuthenticationException e) {lastException = e;}}// 如果验证结果为null,并且父AuthenticationManager不为null// 则使用父AuthenticationManager进行验证if (result == null && parent != null) {try {// 父AuthenticationManager的验证结果赋值给result和parentResult result = parentResult = parent.authenticate(authentication);}catch (ProviderNotFoundException e) {}catch (AuthenticationException e) {lastException = parentException = e;}}// 验证结果不为nullif (result != null) {if (eraseCredentialsAfterAuthentication&& (result instanceof CredentialsContainer)) {// 验证完成// 从authentication中删除凭证和其他秘密数据((CredentialsContainer) result).eraseCredentials();}// 如果父AuthenticationManager已尝试验证并成功// 那么它将发布一个AuthenticationSuccessEvent// 如果父AuthenticationManager已经发布了它// 此检查可防止重复的AuthenticationSuccessEventif (parentResult == null) {eventPublisher.publishAuthenticationSuccess(result);}return result;}// Parent为null(此时result为null),未进行身份验证(引发异常)if (lastException == null) {lastException = new ProviderNotFoundException(messages.getMessage("ProviderManager.providerNotFound",new Object[] { toTest.getName() },"No AuthenticationProvider found for {0}"));}// 如果父AuthenticationManager已尝试但失败// 则它将发布AbstractAuthenticationFailureEvent// 如果父AuthenticationManager已发布// 此检查可防止重复AbstractAuthenticationFailureEventif (parentException == null) {prepareException(lastException, authentication);}throw lastException;}// 根据authentication准备exception@SuppressWarnings("deprecation")private void prepareException(AuthenticationException ex, Authentication auth) {eventPublisher.publishAuthenticationFailure(ex, auth);}/*** 将身份验证详细信息从源身份验证对象复制到目标身份验证对象,前提是后者还没有* 参数:* source - 源身份验证对象* dest - 目标身份验证对象*/private void copyDetails(Authentication source, Authentication dest) {if ((dest instanceof AbstractAuthenticationToken) && (dest.getDetails() == null)) {AbstractAuthenticationToken token = (AbstractAuthenticationToken) dest;token.setDetails(source.getDetails());}}// 返回AuthenticationProvider列表public List<AuthenticationProvider> getProviders() {return providers;}// 设置messages属性public void setMessageSource(MessageSource messageSource) {this.messages = new MessageSourceAccessor(messageSource);}// 设置eventPublisher 属性public void setAuthenticationEventPublisher(AuthenticationEventPublisher eventPublisher) {Assert.notNull(eventPublisher, "AuthenticationEventPublisher cannot be null");this.eventPublisher = eventPublisher;}/*** 设置eraseCredentialsAfterAuthentication属性* 如果设置为true* 实现CredentialsContainer接口的结果Authentication* 将在从authenticate方法返回之前调用其eraseCredentials方法*/public void setEraseCredentialsAfterAuthentication(boolean eraseSecretData) {this.eraseCredentialsAfterAuthentication = eraseSecretData;}// 返回eraseCredentialsAfterAuthenticationpublic boolean isEraseCredentialsAfterAuthentication() {return eraseCredentialsAfterAuthentication;}...
}
Debug分析
项目结构图:
pom.xml
:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.kaven</groupId><artifactId>security</artifactId><version>1.0-SNAPSHOT</version><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.3.6.RELEASE</version></parent><properties><maven.compiler.source>8</maven.compiler.source><maven.compiler.target>8</maven.compiler.target></properties><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.projectlombok</groupId><artifactId>lombok</artifactId></dependency></dependencies></project>
application.yml
:
spring:security:user:name: kavenpassword: itkaven
logging:level:org:springframework:security: DEBUG
SecurityConfig
(Spring Security
的配置类,不是必须的,因为有默认的配置):
package com.kaven.security.config;import org.springframework.security.config.Customizer;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {@Overrideprotected void configure(HttpSecurity http) throws Exception {// 任何请求都需要进行验证http.authorizeRequests().anyRequest().authenticated().and()// 记住身份验证.rememberMe(Customizer.withDefaults())// 从登陆页进行验证// 指定支持基于表单的身份验证.formLogin(Customizer.withDefaults());}
}
MessageController
(定义接口):
package com.kaven.security.controller;import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;@RestController
public class MessageController {@GetMapping("/message")public String getMessage() {return "hello spring security";}
}
启动类:
package com.kaven.security;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplication
public class Application {public static void main(String[] args) {SpringApplication.run(Application.class);}
}
Debug
方式启动应用,访问http://localhost:8080/message
,请求会被重定向到登陆页,需要输入用户名和密码。
身份验证请求会被ProviderManager
实例处理,如下图所示,ProviderManager
实例有两个AuthenticationProvider
,分别为AnonymousAuthenticationProvider
实例和RememberMeAuthenticationProvider
实例,而它的父AuthenticationManager
有一个AuthenticationProvider
,即DaoAuthenticationProvider
实例。
ProviderManager
实例的两个AuthenticationProvider
都不支持该身份验证请求,但它的父AuthenticationManager
的AuthenticationProvider
支持验证该身份验证请求。
父AuthenticationManager
的AuthenticationProvider
会对身份验证请求进行验证,很显然是验证成功了。
身份验证处理AuthenticationManager
介绍与Debug
分析就到这里,如果博主有说错的地方或者大家有不同的见解,欢迎大家评论补充。
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
相关文章
- Linux预学习
1. 计算机硬件软件体系 1.1. 冯 诺依曼体系结构 计算机处理的数据和指令一律用二进制数表示 顺序执行程序 计算机硬件由运算器、控制器、存储器、输入设备和输出设备五大部分组成 1.2. 计算机硬件组成 输入设备 输入设备用来将人们熟悉的信息形式转换为机器能够识别的信息形式 …...
2024/4/22 10:55:13 - Tippppppppps
1.快捷输入 psvmpublic static void main(String[] args) soutpublic static void main(String[] args) for语句快捷组建 格式为:x.for //输入5.for,得到以下 for (int i 0; i < 5; i) {} 格式也可以为:fori,得到for (int i 0; i &l…...
2024/4/14 9:43:40 - python flask http请求中接收上送过来的文件
应用场景:用postman、apifox测试时请求python接口,python接口接收上送过来文件对象 下面截图是apifox上送的文件对象 python接口中,接收此文件对象 # -*- coding:utf-8 -*- from flask import Flask, request, json import os from Config.…...
2024/4/18 7:05:57 - linux基础命令(2)
目录 一、cp命令 1、命令格式 2、参数 3、参数案例 二、mv命令 1、命令格式 2、参数 3、参数案例 三、rm命令 1、命令格式 2、参数 3、参数案例 四、find命令 1、命令格式 2、参数 3、参数案例 五、查看硬件设备工作情况 1、cpu 2、内存 3、磁盘大小 4、机…...
2024/4/14 9:43:15 - 解决 “javax.persistence.EntityManagerFactory“ that could not be found 问题
处理springBooot 整合JPA过程的EntityManagerFactory问题问题描述导致问题原因解决问题问题描述 springboot项目启动不起来,报错如下: A component required a bean of type "javax.persistence.EntityManagerFactory" that could not be fo…...
2024/4/20 4:02:42 - CAD中多重插入引用不能炸开
今天碰到了一个CAD的问题,整个CAD就是一个块,属性名是:多重插入引用。按照习惯,会用炸开(explode)将其分解成简单图形要素。博主尝试了多次,都无法分解,命令行提示:1个是…...
2024/4/14 9:43:20 - YOLO-入门-简单理解
YOLO-入门-简单理解 论文传送门 Leon百宝箱里旧报纸包着的钛合金折叠传送门 >–【YOLO-论文-地址】–< 简单评价 特点 检测流程 设计思想 必须注意的一点 –>下文的“格子” 是画在图像里的对图像进行均分的小网格 –>下文的“框格” 是画在图像里的对象上的那个…...
2024/4/18 9:43:42 - 寒假学习记录D12
1.OpenCV 2.web前端相关指令 3.算法基础训练 1.OpenCV实战: (104条消息) OpenCV实战(一)——简单的车牌识别_行歌-CSDN博客_opencv车牌识别 (104条消息) OpenCV-Python实战(1)——OpenCV简介与图像处理基础_盼小辉丶…...
2024/4/20 4:26:38 - Java中封装与单例模式
对于普通对象来说,调用属性名进行赋值时,需要去记住对象的属性名以及类型,非常麻烦,并且对于属性值没有验证机制,不能保证数据的安全性和隐秘性。而封装就能解决这些问题。 封装:是将类里的某些信息通过访…...
2024/4/19 9:07:13 - 数据库系统概论--精简版
数据库精简版 第一章 数据&数据库&数据库管理系统&数据库系统 数据:描述事物的符号记录称为数据,数据库存储的基本对象 数据库:长期存储在计算机内,可共享、有组织的大量数据,数据库中的数据按一定的数…...
2024/4/14 9:44:21 - SpringMVC学习笔记【part7】异常处理
SpringMVC 学习笔记 Part7 1. SpringMVC的异常处理 首先先来回顾下 Java 中的异常。系统中异常包括两类:预期异常和运行时异常 RuntimeException,前者通过捕获异常从而获取异常信息,后者主要通过规范代码开发、测试通过手段减少运行时异常的…...
2024/4/14 9:44:16 - 吴恩达机器学习课后作业(2):Logistic regression
作业题目1 Logistic regression 在这部分的练习中,你将建立一个逻辑回归模型来预测一个学生是否能进入大学。假设你是一所大学的行政管理人员,你想根据两门考试的结果,来决定每个申请人是否被录取。你有以前申请人的历史数据,可以…...
2024/4/7 15:35:59 - R语言书籍学习02 《R语言数据分析、挖掘建模与可视化》-第五章 数据可视化技术的应用
文不如字,字不如表,表不如图。 目录 条形图 饼图与环形图 矩形图与瓦片图 直方图与频次多边形图 箱线图与小提琴 折线图与阶梯图 面积图与带状图 散点图与气泡图 区块频次图的绘制 核密度图 QQ图 条形图 使用ggplot(...)_geom_*(...)格式&…...
2024/4/14 9:44:31 - 如何在宝塔的一个站点同时配置前后端
前面有文章介绍了如何在宝塔上运行SpringBoot工程和Vue工程: 如何在宝塔上运行SpringBoot工程 如何在宝塔上运行Vue工程 有个很大的问题,是前后端使用了不同的域名,而且必须创建两个站点,能不能在一个站点一个域名的情况下&…...
2024/4/7 15:35:57 - 【Verilog】CRC校验码生成器原理及verilog实现
目录 一、CRC的基本原理 二、CRC生成步骤 2.1举个栗子 三、Verilog实现 四、参考资料 4.1 CRC在线计算器 一、CRC的基本原理 CRC :Cyclic Redundancy Check循环冗余校验码 将被处理的报文比特序列当做一个二进制多项式A(x)的系数,任意一个由二进制…...
2024/4/20 7:00:01 - Opencv——边缘检测(Canny、金字塔)
Canny边缘检测: 1) 使用高斯滤波器,以平滑图像,滤除噪声。 2) 计算图像中每个像素点的梯度强度和方向。 3) 应用非极大值(Non-Maximum Suppression)抑制,以消除边缘检测带来的杂散响应。 4) 应用双阈值&…...
2024/4/18 3:30:14 - Javase——异常
一、概述 异常就是java程序出现的不正常的情况。(程序中出现的问题) 二、由来 问题在现实生活中也是一个具体的事物,所以也可以用 java 类的形式来描述,封装成对象。其实就是就ava对不正常情况的描述。 三、异常的分类 (一) E…...
2024/4/18 7:37:46 - 非动态规划解 三角路径问题
原题:OpenJudge - 7625:三角形最佳路径问题 三角形最佳路径问题 1000ms 65536K 描述: 如下所示的由正整数数字构成的三角形: 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 从三角形的顶部到底部有很多条不同的路径。对于每条路径,把路径上面的数加起来…...
2024/4/5 4:38:32 - Frida逆向环境搭建
frida逆向基本环境搭建选择开发环境kali系统选择开发环境 kali系统 好的操作系统会让我们的开发效率事半功倍。 在kali官方下载适合于vmware的镜像更改root账户以及时区; sudo passwd root;dpkg-reconfigure tzdata 安装流量监控小工具以及top增强版; apt instal…...
2024/4/18 5:31:08 - 【YOLO系列】YOLO V1 论文精读与学习总结
目录0. 前言1.YOLO V1 大体思路2. YOLO V1的训练过程2.1 YOLO V1网络结构2.2 具体训练过程2.2.1 把主干结构在ImageNet上进行预训练2.2.2 真正开始训练2.3 输出的7x7x30维张量代表含义2.3 损失函数设置3.YOLO V1推断过程(NMS后处理)4. YOLOV1 与其他模型…...
2024/4/14 9:44:26
最新文章
- java同步大量数据到本地数据库方法总结
最近在做一个需求,就是我需要对三方接口调用的数据存放到本地的数据库里的数据表里面。那么一开始我就是直接一条一条save,结果发现耗时非常严重,后面我就进行了改进。就是分批次去同步或者分批次去异步。 现在我直接贴出我写的代码…...
2024/5/1 18:12:44 - 梯度消失和梯度爆炸的一些处理方法
在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言,在此感激不尽。 权重和梯度的更新公式如下: w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...
2024/3/20 10:50:27 - 设计模式:组合模式
定义 组合模式(Composite Pattern)是一种结构型设计模式,它允许你将对象组合成树形结构来表示“部分-整体”的层次结构。组合模式使得客户端可以统一对待单个对象和组合对象。 应用场景 组合模式适用于以下场景: 表达对象的部分-整体层次结构:当你想要表示对象的部分-整…...
2024/5/1 8:37:43 - 鸿蒙OS开发实例:【应用事件打点】
简介 传统的日志系统里汇聚了整个设备上所有程序运行的过程流水日志,难以识别其中的关键信息。因此,应用开发者需要一种数据打点机制,用来评估如访问数、日活、用户操作习惯以及影响用户使用的关键因素等关键信息。 HiAppEvent是在系统层面…...
2024/5/1 14:03:19 - 【外汇早评】美通胀数据走低,美元调整
原标题:【外汇早评】美通胀数据走低,美元调整昨日美国方面公布了新一期的核心PCE物价指数数据,同比增长1.6%,低于前值和预期值的1.7%,距离美联储的通胀目标2%继续走低,通胀压力较低,且此前美国一季度GDP初值中的消费部分下滑明显,因此市场对美联储后续更可能降息的政策…...
2024/5/1 17:30:59 - 【原油贵金属周评】原油多头拥挤,价格调整
原标题:【原油贵金属周评】原油多头拥挤,价格调整本周国际劳动节,我们喜迎四天假期,但是整个金融市场确实流动性充沛,大事频发,各个商品波动剧烈。美国方面,在本周四凌晨公布5月份的利率决议和新闻发布会,维持联邦基金利率在2.25%-2.50%不变,符合市场预期。同时美联储…...
2024/4/30 18:14:14 - 【外汇周评】靓丽非农不及疲软通胀影响
原标题:【外汇周评】靓丽非农不及疲软通胀影响在刚结束的周五,美国方面公布了新一期的非农就业数据,大幅好于前值和预期,新增就业重新回到20万以上。具体数据: 美国4月非农就业人口变动 26.3万人,预期 19万人,前值 19.6万人。 美国4月失业率 3.6%,预期 3.8%,前值 3…...
2024/4/29 2:29:43 - 【原油贵金属早评】库存继续增加,油价收跌
原标题:【原油贵金属早评】库存继续增加,油价收跌周三清晨公布美国当周API原油库存数据,上周原油库存增加281万桶至4.692亿桶,增幅超过预期的74.4万桶。且有消息人士称,沙特阿美据悉将于6月向亚洲炼油厂额外出售更多原油,印度炼油商预计将每日获得至多20万桶的额外原油供…...
2024/4/30 18:21:48 - 【外汇早评】日本央行会议纪要不改日元强势
原标题:【外汇早评】日本央行会议纪要不改日元强势近两日日元大幅走强与近期市场风险情绪上升,避险资金回流日元有关,也与前一段时间的美日贸易谈判给日本缓冲期,日本方面对汇率问题也避免继续贬值有关。虽然今日早间日本央行公布的利率会议纪要仍然是支持宽松政策,但这符…...
2024/4/27 17:58:04 - 【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响
原标题:【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响近日伊朗局势升温,导致市场担忧影响原油供给,油价试图反弹。此时OPEC表态稳定市场。据消息人士透露,沙特6月石油出口料将低于700万桶/日,沙特已经收到石油消费国提出的6月份扩大出口的“适度要求”,沙特将满…...
2024/4/27 14:22:49 - 【外汇早评】美欲与伊朗重谈协议
原标题:【外汇早评】美欲与伊朗重谈协议美国对伊朗的制裁遭到伊朗的抗议,昨日伊朗方面提出将部分退出伊核协议。而此行为又遭到欧洲方面对伊朗的谴责和警告,伊朗外长昨日回应称,欧洲国家履行它们的义务,伊核协议就能保证存续。据传闻伊朗的导弹已经对准了以色列和美国的航…...
2024/4/28 1:28:33 - 【原油贵金属早评】波动率飙升,市场情绪动荡
原标题:【原油贵金属早评】波动率飙升,市场情绪动荡因中美贸易谈判不安情绪影响,金融市场各资产品种出现明显的波动。随着美国与中方开启第十一轮谈判之际,美国按照既定计划向中国2000亿商品征收25%的关税,市场情绪有所平复,已经开始接受这一事实。虽然波动率-恐慌指数VI…...
2024/4/30 9:43:09 - 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试
原标题:【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试美国和伊朗的局势继续升温,市场风险情绪上升,避险黄金有向上突破阻力的迹象。原油方面稍显平稳,近期美国和OPEC加大供给及市场需求回落的影响,伊朗局势并未推升油价走强。近期中美贸易谈判摩擦再度升级,美国对中…...
2024/4/27 17:59:30 - 【原油贵金属早评】市场情绪继续恶化,黄金上破
原标题:【原油贵金属早评】市场情绪继续恶化,黄金上破周初中国针对于美国加征关税的进行的反制措施引发市场情绪的大幅波动,人民币汇率出现大幅的贬值动能,金融市场受到非常明显的冲击。尤其是波动率起来之后,对于股市的表现尤其不安。隔夜美国股市出现明显的下行走势,这…...
2024/4/25 18:39:16 - 【外汇早评】美伊僵持,风险情绪继续升温
原标题:【外汇早评】美伊僵持,风险情绪继续升温昨日沙特两艘油轮再次发生爆炸事件,导致波斯湾局势进一步恶化,市场担忧美伊可能会出现摩擦生火,避险品种获得支撑,黄金和日元大幅走强。美指受中美贸易问题影响而在低位震荡。继5月12日,四艘商船在阿联酋领海附近的阿曼湾、…...
2024/4/28 1:34:08 - 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势
原标题:【原油贵金属早评】贸易冲突导致需求低迷,油价弱势近日虽然伊朗局势升温,中东地区几起油船被袭击事件影响,但油价并未走高,而是出于调整结构中。由于市场预期局势失控的可能性较低,而中美贸易问题导致的全球经济衰退风险更大,需求会持续低迷,因此油价调整压力较…...
2024/4/26 19:03:37 - 氧生福地 玩美北湖(上)——为时光守候两千年
原标题:氧生福地 玩美北湖(上)——为时光守候两千年一次说走就走的旅行,只有一张高铁票的距离~ 所以,湖南郴州,我来了~ 从广州南站出发,一个半小时就到达郴州西站了。在动车上,同时改票的南风兄和我居然被分到了一个车厢,所以一路非常愉快地聊了过来。 挺好,最起…...
2024/4/29 20:46:55 - 氧生福地 玩美北湖(中)——永春梯田里的美与鲜
原标题:氧生福地 玩美北湖(中)——永春梯田里的美与鲜一觉醒来,因为大家太爱“美”照,在柳毅山庄去寻找龙女而错过了早餐时间。近十点,向导坏坏还是带着饥肠辘辘的我们去吃郴州最富有盛名的“鱼头粉”。说这是“十二分推荐”,到郴州必吃的美食之一。 哇塞!那个味美香甜…...
2024/4/30 22:21:04 - 氧生福地 玩美北湖(下)——奔跑吧骚年!
原标题:氧生福地 玩美北湖(下)——奔跑吧骚年!让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 啊……啊……啊 两…...
2024/5/1 4:32:01 - 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!
原标题:扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!扒开伪装医用面膜,翻六倍价格宰客!当行业里的某一品项火爆了,就会有很多商家蹭热度,装逼忽悠,最近火爆朋友圈的医用面膜,被沾上了污点,到底怎么回事呢? “比普通面膜安全、效果好!痘痘、痘印、敏感肌都能用…...
2024/4/27 23:24:42 - 「发现」铁皮石斛仙草之神奇功效用于医用面膜
原标题:「发现」铁皮石斛仙草之神奇功效用于医用面膜丽彦妆铁皮石斛医用面膜|石斛多糖无菌修护补水贴19大优势: 1、铁皮石斛:自唐宋以来,一直被列为皇室贡品,铁皮石斛生于海拔1600米的悬崖峭壁之上,繁殖力差,产量极低,所以古代仅供皇室、贵族享用 2、铁皮石斛自古民间…...
2024/4/28 5:48:52 - 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者
原标题:丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者【公司简介】 广州华彬企业隶属香港华彬集团有限公司,专注美业21年,其旗下品牌: 「圣茵美」私密荷尔蒙抗衰,产后修复 「圣仪轩」私密荷尔蒙抗衰,产后修复 「花茵莳」私密荷尔蒙抗衰,产后修复 「丽彦妆」专注医学护…...
2024/4/30 9:42:22 - 广州械字号面膜生产厂家OEM/ODM4项须知!
原标题:广州械字号面膜生产厂家OEM/ODM4项须知!广州械字号面膜生产厂家OEM/ODM流程及注意事项解读: 械字号医用面膜,其实在我国并没有严格的定义,通常我们说的医美面膜指的应该是一种「医用敷料」,也就是说,医用面膜其实算作「医疗器械」的一种,又称「医用冷敷贴」。 …...
2024/4/30 9:43:22 - 械字号医用眼膜缓解用眼过度到底有无作用?
原标题:械字号医用眼膜缓解用眼过度到底有无作用?医用眼膜/械字号眼膜/医用冷敷眼贴 凝胶层为亲水高分子材料,含70%以上的水分。体表皮肤温度传导到本产品的凝胶层,热量被凝胶内水分子吸收,通过水分的蒸发带走大量的热量,可迅速地降低体表皮肤局部温度,减轻局部皮肤的灼…...
2024/4/30 9:42:49 - 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...
解析如下:1、长按电脑电源键直至关机,然后再按一次电源健重启电脑,按F8健进入安全模式2、安全模式下进入Windows系统桌面后,按住“winR”打开运行窗口,输入“services.msc”打开服务设置3、在服务界面,选中…...
2022/11/19 21:17:18 - 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。
%读入6幅图像(每一幅图像的大小是564*564) f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...
2022/11/19 21:17:16 - 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...
win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面,在等待界面中我们需要等待操作结束才能关机,虽然这比较麻烦,但是对系统进行配置和升级…...
2022/11/19 21:17:15 - 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...
有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows,请勿关闭计算机”的提示,要过很久才能进入系统,有的用户甚至几个小时也无法进入,下面就教大家这个问题的解决方法。第一种方法:我们首先在左下角的“开始…...
2022/11/19 21:17:14 - win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...
置信有很多用户都跟小编一样遇到过这样的问题,电脑时发现开机屏幕显现“正在配置Windows Update,请勿关机”(如下图所示),而且还需求等大约5分钟才干进入系统。这是怎样回事呢?一切都是正常操作的,为什么开时机呈现“正…...
2022/11/19 21:17:13 - 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...
Win7系统开机启动时总是出现“配置Windows请勿关机”的提示,没过几秒后电脑自动重启,每次开机都这样无法进入系统,此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一:开机按下F8,在出现的Windows高级启动选…...
2022/11/19 21:17:12 - 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...
有不少windows10系统用户反映说碰到这样一个情况,就是电脑提示正在准备windows请勿关闭计算机,碰到这样的问题该怎么解决呢,现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法:1、2、依次…...
2022/11/19 21:17:11 - 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...
今天和大家分享一下win7系统重装了Win7旗舰版系统后,每次关机的时候桌面上都会显示一个“配置Windows Update的界面,提示请勿关闭计算机”,每次停留好几分钟才能正常关机,导致什么情况引起的呢?出现配置Windows Update…...
2022/11/19 21:17:10 - 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...
只能是等着,别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚,只能是考虑备份数据后重装系统了。解决来方案一:管理员运行cmd:net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...
2022/11/19 21:17:09 - 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?
原标题:电脑提示“配置Windows Update请勿关闭计算机”怎么办?win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢?一般的方…...
2022/11/19 21:17:08 - 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...
关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!关机提示 windows7 正在配…...
2022/11/19 21:17:05 - 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...
钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...
2022/11/19 21:17:05 - 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...
前几天班里有位学生电脑(windows 7系统)出问题了,具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面,长时间没反应,无法进入系统。这个问题原来帮其他同学也解决过,网上搜了不少资料&#x…...
2022/11/19 21:17:04 - 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...
本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法,并在最后教给你1种保护系统安全的好方法,一起来看看!电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中,添加了1个新功能在“磁…...
2022/11/19 21:17:03 - 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...
许多用户在长期不使用电脑的时候,开启电脑发现电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机。。.这要怎么办呢?下面小编就带着大家一起看看吧!如果能够正常进入系统,建议您暂时移…...
2022/11/19 21:17:02 - 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...
配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!配置windows update失败 还原更改 请勿关闭计算机&#x…...
2022/11/19 21:17:01 - 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...
不知道大家有没有遇到过这样的一个问题,就是我们的win7系统在关机的时候,总是喜欢显示“准备配置windows,请勿关机”这样的一个页面,没有什么大碍,但是如果一直等着的话就要两个小时甚至更久都关不了机,非常…...
2022/11/19 21:17:00 - 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...
当电脑出现正在准备配置windows请勿关闭计算机时,一般是您正对windows进行升级,但是这个要是长时间没有反应,我们不能再傻等下去了。可能是电脑出了别的问题了,来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...
2022/11/19 21:16:59 - 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...
我们使用电脑的过程中有时会遇到这种情况,当我们打开电脑之后,发现一直停留在一个界面:“配置Windows Update失败,还原更改请勿关闭计算机”,等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢࿰…...
2022/11/19 21:16:58 - 如何在iPhone上关闭“请勿打扰”
Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...
2022/11/19 21:16:57