SpringBoot+SpringSecurity系列八:整合JWT
前置博客:JWT工具类
数据库:
第一步:当用户在没有授权时返回的指定信息的Handler
@Slf4j
@Component
public class JwtAccessDeniedHandler implements AccessDeniedHandler {@Overridepublic void handle(HttpServletRequest request, HttpServletResponse response, AccessDeniedException e) throws ServletException {log.info("用户访问没有授权资源:{}", e.getMessage());response.setContentType("application/json;charset=utf-8");response.setCharacterEncoding("utf-8");try (PrintWriter out = response.getWriter();) {Result result = ResultUtil.fail("用户访问未授权资源").setCode(HttpServletResponse.SC_UNAUTHORIZED);out.write(JsonUtil.obj2String(result));out.flush();} catch (IOException exception) {log.error(e.getMessage());e.printStackTrace();}}
}
第二步:访问受限资源时未登录或未携带正确token时返回信息的EntryPoint
@Slf4j
@Component
public class JwtAuthenticationEntryPoint implements AuthenticationEntryPoint {@Overridepublic void commence(HttpServletRequest request, HttpServletResponse response, AuthenticationException e) throws ServletException, IOException {log.info("登录失败or用户访问资源没有携带正确的token:{}", e.getMessage());response.setContentType("application/json;charset=utf-8");response.setCharacterEncoding("utf-8");try (PrintWriter out = response.getWriter();) {Result result = ResultUtil.fail("用户访问资源没有携带正确的token").setCode(HttpServletResponse.SC_UNAUTHORIZED);out.write(JsonUtil.obj2String(result));out.flush();} catch (IOException exception) {log.error(e.getMessage());e.printStackTrace();}}
}
第三步:定义JWT认证过滤器
@Slf4j
@Component
public class JwtAuthenticationFilter extends OncePerRequestFilter {@Resourceprivate JwtUtil jwtUtil;@Resourceprivate UserDetailsServiceImpl userDetailsService;@Overrideprotected void doFilterInternal(HttpServletRequest request,HttpServletResponse response,FilterChain chain) throws ServletException, IOException {String token = request.getHeader(jwtUtil.getHeader());log.info("header token:{}", token);//如果请求头中有token,则进行解析,并且设置认证信息if (token != null && token.trim().length() > 0) {//根据token获取用户名String username = jwtUtil.getSubjectFromToken(token);// 验证username,如果验证合法则保存到SecurityContextHolderif (username != null && SecurityContextHolder.getContext().getAuthentication() == null) {UserDetails userDetails = userDetailsService.loadUserByUsername(username);// JWT验证通过,使用Spring Security 管理if (jwtUtil.validateToken(token, userDetails)) {//加载用户、角色、权限信息UsernamePasswordAuthenticationToken authentication = new UsernamePasswordAuthenticationToken(username, null, userDetails.getAuthorities());authentication.setDetails(new WebAuthenticationDetailsSource().buildDetails(request));SecurityContextHolder.getContext().setAuthentication(authentication);}}}//如果请求头中没有Authorization信息则直接放行chain.doFilter(request, response);}}
第四步:自定义UserDetailsService
@Service
public class UserDetailsServiceImpl implements UserDetailsService {@Resourceprivate UserService userService;@Overridepublic UserDetails loadUserByUsername(String username) throws UsernameNotFoundException {MenuItemAuth menuItemAuth = userService.getAuthoritiesPermissions(username);System.out.println(JsonUtil.obj2String(menuItemAuth));UserDetails userDetails = org.springframework.security.core.userdetails.User.withUsername(username).password(menuItemAuth.getPassword()).authorities(menuItemAuth.getAuth().split(",")).build();//UserDetails userDetails = new org.springframework.security.core.userdetails.User(username, passwordEncoder.encode("1234"),// AuthorityUtils.commaSeparatedStringToAuthorityList("ROLE_vip,user:list,user:update"));return userDetails;}}
相关的代码如下所示:
- MenuItem.java
@Getter
@Setter
@Builder
@ToString
@AllArgsConstructor
@NoArgsConstructor
public class MenuItem {/*** 编号*/private Integer id;/*** 名称*/private String name;/*** 权限名称*/private String code;/*** 父编号*/private Integer pid;
}
- MenuItemAuth.java
@Getter
@Setter
@ToString
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class MenuItemAuth {/*** 后台管理系统菜单项列表*/List<MenuItem> menuItemList;/*** 用户的密码*/private String password;/*** 用户角色code+权限code的字符串*/private String auth;
}
第五步:定义SpringSecurity配置类
@Configuration
@EnableGlobalMethodSecurity(prePostEnabled = true)
public class SpringSecurityJwtConfig extends WebSecurityConfigurerAdapter {@Beanpublic PasswordEncoder passwordEncoder() {return new BCryptPasswordEncoder();}@Bean@Overridepublic AuthenticationManager authenticationManagerBean() throws Exception {return super.authenticationManagerBean();}@Resourceprivate JwtAccessDeniedHandler jwtAccessDeniedHandler;@Resourceprivate JwtAuthenticationEntryPoint jwtAuthenticationEntryPoint;@Resourceprivate JwtAuthenticationFilter jwtAuthenticationFilter;@Overrideprotected void configure(HttpSecurity http) throws Exception {http.csrf().disable();// 禁用sessionhttp.sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS);http.authorizeRequests()//login 不拦截.antMatchers("/user/login").permitAll().antMatchers("/user/login0").permitAll().antMatchers("/init/redis").permitAll().antMatchers(HttpMethod.OPTIONS, "/**").permitAll().antMatchers("/").permitAll().anyRequest().authenticated();//用户访问没有授权资源http.exceptionHandling().accessDeniedHandler(jwtAccessDeniedHandler);//授权错误信息处理//用户访问资源没有携带正确的tokenhttp.exceptionHandling().authenticationEntryPoint(jwtAuthenticationEntryPoint);// 使用自己定义的拦截机制验证请求是否正确,拦截jwthttp.addFilterBefore(jwtAuthenticationFilter, UsernamePasswordAuthenticationFilter.class);}
}
Controller
@RestController
@RequestMapping("/authority")
public class AuthorityController {@PostMapping("/login")public Result login(@RequestBody User user) {// 登陆验证UsernamePasswordAuthenticationToken token0 =new UsernamePasswordAuthenticationToken(user.getUsername(), user.getPassword());Authentication authentication = authenticationManager.authenticate(token0);SecurityContextHolder.getContext().setAuthentication(authentication);//生成token,返回给客户端MenuItemAuth menuItemAuth = userService.getAuthoritiesPermissions(user.getUsername());UserDetails userDetails = org.springframework.security.core.userdetails.User.withUsername(user.getUsername()).password(menuItemAuth.getPassword()).authorities(menuItemAuth.getAuth().split(",")).build();String token = jwtUtil.generateToken(userDetails, user1.getId() + "");return ResultUtil.success().setData("token", token);}@GetMapping("/fun1")@PreAuthorize("hasRole(\"vip\")")public Result fun1() {return ResultUtil.success("fun1");}@GetMapping("/fun2")@PreAuthorize("hasRole(\"admin\")")public Result fun2() {return ResultUtil.success("fun2");}@GetMapping("/fun3")@PreAuthorize("hasAuthority(\"user:list\")")public Result fun3() {return ResultUtil.success("fun3");}@GetMapping("/fun4")@PreAuthorize("hasAuthority(\"user:delete\")")public Result fun4() {return ResultUtil.success("fun4");}}
相关代码
@Service
@CacheConfig(cacheManager = "cacheManager")
public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService {@ResourceRedisService<User> userRedisServiceImpl;@Resourceprivate RoleService roleService;@Resourceprivate UserPermissionService userPermissionService;@Resourceprivate PermissionService permissionService;@Resourceprivate RolePermissionService rolePermissionService;@Overridepublic MenuItemAuth getAuthoritiesPermissions(String username) {List<MenuItem> menuItemList = new ArrayList<>();//根据用户名查找用户User user = baseMapper.selectOne(new QueryWrapper<User>().select("id", "username", "password", "nickname", "email", "tel", "gender", "birth", "avatar", "role_id").eq("username", username).eq("status", BaseStatus.Status.ok));//查找角色Role role = roleService.getOne(new QueryWrapper<Role>().select("id", "name", "code").eq("status", BaseStatus.Status.ok).eq("id", user.getRoleId()));menuItemList.add(MenuItem.builder().id(role.getId()).name(role.getName()).code(role.getCode()).pid(-1) // -1表示是角色.build());String authorities = "ROLE_" + role.getCode() + ",";// 当前用户拥有的权限permission的id的集合List<Integer> permissionIdList = new ArrayList<>();//在tb_role_permission中查找Role所对应的角色List<RolePermission> rolePermissionList = rolePermissionService.list(new QueryWrapper<RolePermission>().select("permission_id").eq("role_id", role.getId()).eq("status", BaseStatus.Status.ok));List<Integer> pid1 = rolePermissionList.stream().map(item -> item.getPermissionId()).collect(Collectors.toList());permissionIdList.addAll(pid1);//在tb_user_permission中查找权限List<UserPermission> userPermissionList = userPermissionService.list(new QueryWrapper<UserPermission>().select("permission_id").eq("user_id", user.getId()).eq("status", BaseStatus.Status.ok));List<Integer> pid2 = userPermissionList.stream().map(item -> item.getPermissionId()).collect(Collectors.toList());permissionIdList.addAll(pid2);//查找具体的权限信息List<Permission> permissionList = permissionService.list(new QueryWrapper<Permission>().select("id", "name", "code", "pid").eq("status", BaseStatus.Status.ok).in("id", permissionIdList));List<MenuItem> permissionMenuItemList = permissionList.stream().map(item -> MenuItem.builder().id(item.getId()).name(item.getName()).code(item.getCode()).pid(item.getPid()).build()).collect(Collectors.toList());menuItemList.addAll(permissionMenuItemList);String permissions = permissionList.stream().map(item -> item.getCode() + ",").collect(Collectors.joining());System.out.println(permissions);//去掉最后一个逗号permissions = permissions.substring(0, permissions.length() - 1);System.out.println(authorities + permissions);MenuItemAuth res = MenuItemAuth.builder().menuItemList(menuItemList).auth(authorities + permissions).password(user.getPassword()).build();return res;}
}
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
相关文章
- SAP Message no. SUID01041 用户 XXXX 的密码已更改,但未设置为生产密码
发生条件及原因 使用BAPI_USER_CHANGE( PRODUCTIVE_PWD ‘X’)时抛出提示 中文:用户 XXXX 的密码已更改,但未设置为生产密码英文:Password for user &1 changed, but not set as productive 发生原因:…...
2024/3/15 0:26:42 - 定制管理系统好处多多?这老牌低代码厂商彰不凡实力
编者按:如何在快速发展的大环境之下求存,成了企业每时每刻都在琢磨的事。其中这企业管理系统搭构,成了极其关键的一环。那这管理系统有没有必要定制?定制的管理系统又有什么优势呢?广州天翎MyApps低代码平台能给你答案…...
2024/3/4 14:04:32 - 判断加密算法特征----AES算法
前言 1.总感觉不去分析加密算法流程而直接判断加密算法有点不可靠,所以这篇打算结合加密算法和反汇编代码分析 2.加密算法种类繁多,暂时打算只针对每种加密模式分析一种加密算法,233对称加密算法 对称加密算法特征 对称加密算法的加密密钥…...
2024/3/4 14:04:29 - 数字化转型如何选择?1分钟带你了解,保你思路清晰
随着互联网的快速发展,消费互联网已经到达顶峰,而突如其来的新冠肺炎疫情让我国经济发展经历了一场严峻的考验,在这种特殊时期,新兴信息技术得到了广泛使用,数字经济的成功运转也解决很多难题,这为我国经济…...
2024/3/4 14:04:28 - 指针和字符串、二维的关系
记录学习理解所得 // 第一个字符串:First // 第二个字符串:Second // 第三个字符串:Third 定义:char *strs[2] {“First”,“Second”,“Third”}; //也可以写成char **strs 输出第一个字符串 “First”:…...
2024/3/4 14:04:26 - 蓝牙BLE芯片|伦茨科技智能电容笔芯片-ST17H65
随着平板电脑的流行,有不少厂商都投入到了电容笔的开发当中,现在的电容笔不仅在精度上有了提高,甚至在笔触和压感上的研究都有进步。 电容笔是利用导体材料制作的具有导电特性、用来触控电容式屏幕完成人机对话操作用的笔,电容笔…...
2024/3/6 13:44:21 - 【听课笔记】BFC规范BFC规范BFC规范
BFC( 块级格式化上下文)是页面上的一个隔离的独立容器,容器里面的子元素不会影响到外面的元素,反之亦然 如何创建BFC 1、float的值不是none 2、pssition的值不是static或者relative 3、display的值是inline-block、flex或者inli…...
2024/3/6 13:44:20 - PMP培训机构怎么选?
关于怎么选机构,应该有很多人已经写过了。 基本就是看以下六点: 1)、是不是PMI和基金会双授权机构?2)、看培训机构办学时长3)、看培训机构师资4)、看培训机构售后服务5)、看培训机构…...
2024/3/8 11:37:16 - [github优秀AI项目]实现4K60帧视频人体实时抠图
项目地址: https://github.com/PeterL1n/RobustVideoMatting 文章: Robust Video Matting in PyTorch, TensorFlow, TensorFlow.js, ONNX, CoreML! PyTorch、TensorFlow、TensorFlow中的强大视频抠图功能。js,ONNX,CoreML&…...
2024/3/6 13:44:18 - 第七天总结
OSPF的不规则区域 OSPF区域划分的要求: 1,区域之间必须存在ABR; 2,区域划分必须按照星型拓扑结构来进行划分; 常见的不规则区域: 1,远离骨干的非骨干区域 2,不连续骨干区域 远离骨干…...
2024/3/11 4:30:21 - 获取上个月 这个月 下个月每天的日期和星期几
//可以获取周几//SimpleDateFormat sdf new SimpleDateFormat("EEEE yyyy-MM-dd");public void getDateList() {//上个月Date lastMonth getLastMonth();String format DateUtil.format(lastMonth, "yyyy-MM-dd");DateTimeFormatter timeDtf DateTimeF…...
2024/3/6 13:44:16 - webRTC 中SDP
1 整个SDP中,只能有一个会话描述,而媒体描述可以有多个.通常SDP包含个媒体描述:一个音频媒体描述,一个视频媒体描述。除会话描述是对整个SDP起约束作用以外,各媒体描述之间的约束互不影响。 1 v0 2 o- 34098211832308…...
2024/3/6 13:44:15 - Guava 编程
系列文章目录 今天给大家说一下 Google 开源的 Guava 工具库 , 该工具库非常强大,能简化我们的开发。 文章目录系列文章目录前言一、导入依赖二、DEMO代码前言 提示:编写代码的过程中,总会遇到一些字符串的拼接,Map、List、set集…...
2024/3/6 13:44:14 - 单片机软件模拟串口
前言 关于写这篇文章完全是记录自己的学习心得,方便后期忘记回头复习! 1、什么是模拟串口 模拟串口就是利用两个输入输出引脚如P1.0和P1.1,置1或0分别代表高低电平,也就是串口通信中所说的位,如起始位用低电平&…...
2024/3/6 13:44:14 - 实践数据湖iceberg 第三课 在sqlclient中,以sql方式从kafka读数据到iceberg
实践数据湖iceberg 第三课 在sqlclient中,以sql方式从kafka读数据到iceberg 在sqlclient中,以sql方式从kafka读数据到iceberg 提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录实践数据湖ice…...
2024/3/6 13:44:12 - 使用CMD命令 目录中有空格的解决方法
在很多命令行下,我们要运行某个命令,往往会出现只能显示到路径空格的地方就停下来了,并显示找不到所需要的文件。 比如: 我想使用命令注册某COM,某盘符下某目录(带有空格)下的XXX.DLL regsvr32.e…...
2024/3/6 13:44:11 - 你需要知道的 TypeScript 高级类型(小结)
前言 对于有 JavaScript 基础的同学来说,入门 TypeScript 其实很容易,只需要简单掌握其基础的类型系统就可以逐步将 JS 应用过渡到 TS 应用。 // js const double (num) > 2 * num// ts const double (num: number): number > 2 * num然而&…...
2024/3/6 13:44:10 - 数字图像处理第二次试验:图像增强
数字图像处理第二次试验:图像增强前言一、实验目的二、实验主要仪器设备三、实验原理四、实验内容五、实验步骤六、实验程序七、实验报告要求八、预习要求九、思考题前言 为了帮助同学们完成痛苦的实验课程设计,本作者将其作出的实验结果及代码贴至CSDN…...
2024/3/6 13:44:10 - 【TcaplusDB知识库】数据分批返回示例代码
说明 当前有三个接口,涉及数据分批返回的场景,分别是: [Generic表]批量读取数据[Generic表]根据部分Key字段值读取数据[List表]读取列表所有数据 这三个接口的特点是一次请求可能返回大量数据,而往往我们是希望数据是分批返回&…...
2024/3/6 13:44:09 - String邂逅字符串常量池
文章目录一、新建了几个对象?二、String.intern()2.1 JDK不同版本中的intern()方法三、字符串常量池在运行时数据区的位置参考:String 字符串常量池 如何理解《深入理解java虚拟机》第二版中对String.intern()方法的讲解中所举的例子 一、新建了几个对象…...
2024/3/6 13:44:07
最新文章
- Linux 入门及其基本指令(上)
目录 0 .引言 1. XShell 远程登录 Linux 1.1 云服务器 1.2. XShell 远程登陆 Linux 2. 详解 Linux 基本指令 2.1 ls 指令 2.2 pwd 指令 2.3 cd 指令 2.4 touch 指令 2.5 mkdir指令 2.6 rmdir指令 && rm 指令 0 .引言 如今,Linux 在服务器…...
2024/3/29 9:20:52 - 梯度消失和梯度爆炸的一些处理方法
在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言,在此感激不尽。 权重和梯度的更新公式如下: w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...
2024/3/20 10:50:27 - 第十二届蓝桥杯省赛CC++ 研究生组-卡片
solution1 直接依次计算,思维上最直接 #include<stdio.h> int main(){int a[10], n 1, t1, t2, flag 1;for(int i 0; i < 10; i)a[i] 2021;while(flag){t1 n;while(t1){t2 t1 % 10;a[t2]--;if(a[t2] < 0){flag 0;break;} t1 / 10;}if(!t1 &…...
2024/3/29 9:01:38 - 4G/5G视频记录仪_联发科MTK6765平台智能记录仪方案
视频记录仪主板采用了联发科MT6765芯片,该芯片采用12nm FinFET制程工艺,8*Cortex-A53架构,搭载安卓11.0/13.0系统,主频最高达2.3GHz,待机功耗可低至5ma,并具有快速数据传输能力。配备了2.4英寸高清触摸显示…...
2024/3/28 19:58:06 - 【外汇早评】美通胀数据走低,美元调整
原标题:【外汇早评】美通胀数据走低,美元调整昨日美国方面公布了新一期的核心PCE物价指数数据,同比增长1.6%,低于前值和预期值的1.7%,距离美联储的通胀目标2%继续走低,通胀压力较低,且此前美国一季度GDP初值中的消费部分下滑明显,因此市场对美联储后续更可能降息的政策…...
2024/3/27 10:21:24 - 【原油贵金属周评】原油多头拥挤,价格调整
原标题:【原油贵金属周评】原油多头拥挤,价格调整本周国际劳动节,我们喜迎四天假期,但是整个金融市场确实流动性充沛,大事频发,各个商品波动剧烈。美国方面,在本周四凌晨公布5月份的利率决议和新闻发布会,维持联邦基金利率在2.25%-2.50%不变,符合市场预期。同时美联储…...
2024/3/24 20:11:25 - 【外汇周评】靓丽非农不及疲软通胀影响
原标题:【外汇周评】靓丽非农不及疲软通胀影响在刚结束的周五,美国方面公布了新一期的非农就业数据,大幅好于前值和预期,新增就业重新回到20万以上。具体数据: 美国4月非农就业人口变动 26.3万人,预期 19万人,前值 19.6万人。 美国4月失业率 3.6%,预期 3.8%,前值 3…...
2024/3/29 2:45:46 - 【原油贵金属早评】库存继续增加,油价收跌
原标题:【原油贵金属早评】库存继续增加,油价收跌周三清晨公布美国当周API原油库存数据,上周原油库存增加281万桶至4.692亿桶,增幅超过预期的74.4万桶。且有消息人士称,沙特阿美据悉将于6月向亚洲炼油厂额外出售更多原油,印度炼油商预计将每日获得至多20万桶的额外原油供…...
2024/3/24 20:11:23 - 【外汇早评】日本央行会议纪要不改日元强势
原标题:【外汇早评】日本央行会议纪要不改日元强势近两日日元大幅走强与近期市场风险情绪上升,避险资金回流日元有关,也与前一段时间的美日贸易谈判给日本缓冲期,日本方面对汇率问题也避免继续贬值有关。虽然今日早间日本央行公布的利率会议纪要仍然是支持宽松政策,但这符…...
2024/3/29 5:19:52 - 【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响
原标题:【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响近日伊朗局势升温,导致市场担忧影响原油供给,油价试图反弹。此时OPEC表态稳定市场。据消息人士透露,沙特6月石油出口料将低于700万桶/日,沙特已经收到石油消费国提出的6月份扩大出口的“适度要求”,沙特将满…...
2024/3/28 17:01:12 - 【外汇早评】美欲与伊朗重谈协议
原标题:【外汇早评】美欲与伊朗重谈协议美国对伊朗的制裁遭到伊朗的抗议,昨日伊朗方面提出将部分退出伊核协议。而此行为又遭到欧洲方面对伊朗的谴责和警告,伊朗外长昨日回应称,欧洲国家履行它们的义务,伊核协议就能保证存续。据传闻伊朗的导弹已经对准了以色列和美国的航…...
2024/3/24 5:55:47 - 【原油贵金属早评】波动率飙升,市场情绪动荡
原标题:【原油贵金属早评】波动率飙升,市场情绪动荡因中美贸易谈判不安情绪影响,金融市场各资产品种出现明显的波动。随着美国与中方开启第十一轮谈判之际,美国按照既定计划向中国2000亿商品征收25%的关税,市场情绪有所平复,已经开始接受这一事实。虽然波动率-恐慌指数VI…...
2024/3/29 1:13:26 - 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试
原标题:【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试美国和伊朗的局势继续升温,市场风险情绪上升,避险黄金有向上突破阻力的迹象。原油方面稍显平稳,近期美国和OPEC加大供给及市场需求回落的影响,伊朗局势并未推升油价走强。近期中美贸易谈判摩擦再度升级,美国对中…...
2024/3/29 8:28:16 - 【原油贵金属早评】市场情绪继续恶化,黄金上破
原标题:【原油贵金属早评】市场情绪继续恶化,黄金上破周初中国针对于美国加征关税的进行的反制措施引发市场情绪的大幅波动,人民币汇率出现大幅的贬值动能,金融市场受到非常明显的冲击。尤其是波动率起来之后,对于股市的表现尤其不安。隔夜美国股市出现明显的下行走势,这…...
2024/3/29 7:41:19 - 【外汇早评】美伊僵持,风险情绪继续升温
原标题:【外汇早评】美伊僵持,风险情绪继续升温昨日沙特两艘油轮再次发生爆炸事件,导致波斯湾局势进一步恶化,市场担忧美伊可能会出现摩擦生火,避险品种获得支撑,黄金和日元大幅走强。美指受中美贸易问题影响而在低位震荡。继5月12日,四艘商船在阿联酋领海附近的阿曼湾、…...
2024/3/24 20:11:18 - 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势
原标题:【原油贵金属早评】贸易冲突导致需求低迷,油价弱势近日虽然伊朗局势升温,中东地区几起油船被袭击事件影响,但油价并未走高,而是出于调整结构中。由于市场预期局势失控的可能性较低,而中美贸易问题导致的全球经济衰退风险更大,需求会持续低迷,因此油价调整压力较…...
2024/3/28 9:10:53 - 氧生福地 玩美北湖(上)——为时光守候两千年
原标题:氧生福地 玩美北湖(上)——为时光守候两千年一次说走就走的旅行,只有一张高铁票的距离~ 所以,湖南郴州,我来了~ 从广州南站出发,一个半小时就到达郴州西站了。在动车上,同时改票的南风兄和我居然被分到了一个车厢,所以一路非常愉快地聊了过来。 挺好,最起…...
2024/3/29 0:49:46 - 氧生福地 玩美北湖(中)——永春梯田里的美与鲜
原标题:氧生福地 玩美北湖(中)——永春梯田里的美与鲜一觉醒来,因为大家太爱“美”照,在柳毅山庄去寻找龙女而错过了早餐时间。近十点,向导坏坏还是带着饥肠辘辘的我们去吃郴州最富有盛名的“鱼头粉”。说这是“十二分推荐”,到郴州必吃的美食之一。 哇塞!那个味美香甜…...
2024/3/24 20:11:15 - 氧生福地 玩美北湖(下)——奔跑吧骚年!
原标题:氧生福地 玩美北湖(下)——奔跑吧骚年!让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 啊……啊……啊 两…...
2024/3/27 7:12:50 - 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!
原标题:扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!扒开伪装医用面膜,翻六倍价格宰客!当行业里的某一品项火爆了,就会有很多商家蹭热度,装逼忽悠,最近火爆朋友圈的医用面膜,被沾上了污点,到底怎么回事呢? “比普通面膜安全、效果好!痘痘、痘印、敏感肌都能用…...
2024/3/24 20:11:13 - 「发现」铁皮石斛仙草之神奇功效用于医用面膜
原标题:「发现」铁皮石斛仙草之神奇功效用于医用面膜丽彦妆铁皮石斛医用面膜|石斛多糖无菌修护补水贴19大优势: 1、铁皮石斛:自唐宋以来,一直被列为皇室贡品,铁皮石斛生于海拔1600米的悬崖峭壁之上,繁殖力差,产量极低,所以古代仅供皇室、贵族享用 2、铁皮石斛自古民间…...
2024/3/26 11:21:23 - 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者
原标题:丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者【公司简介】 广州华彬企业隶属香港华彬集团有限公司,专注美业21年,其旗下品牌: 「圣茵美」私密荷尔蒙抗衰,产后修复 「圣仪轩」私密荷尔蒙抗衰,产后修复 「花茵莳」私密荷尔蒙抗衰,产后修复 「丽彦妆」专注医学护…...
2024/3/28 18:26:34 - 广州械字号面膜生产厂家OEM/ODM4项须知!
原标题:广州械字号面膜生产厂家OEM/ODM4项须知!广州械字号面膜生产厂家OEM/ODM流程及注意事项解读: 械字号医用面膜,其实在我国并没有严格的定义,通常我们说的医美面膜指的应该是一种「医用敷料」,也就是说,医用面膜其实算作「医疗器械」的一种,又称「医用冷敷贴」。 …...
2024/3/28 12:42:28 - 械字号医用眼膜缓解用眼过度到底有无作用?
原标题:械字号医用眼膜缓解用眼过度到底有无作用?医用眼膜/械字号眼膜/医用冷敷眼贴 凝胶层为亲水高分子材料,含70%以上的水分。体表皮肤温度传导到本产品的凝胶层,热量被凝胶内水分子吸收,通过水分的蒸发带走大量的热量,可迅速地降低体表皮肤局部温度,减轻局部皮肤的灼…...
2024/3/28 20:09:10 - 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...
解析如下: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