当前位置: 首页 > news >正文

中企动力官网 网站新公司 做网站 流程

中企动力官网 网站,新公司 做网站 流程,可在哪些网站做链接,做游戏排行榜的网站模板文章目录 Spring Boot 2 和 Spring Boot 3 中使用 Spring Security 的区别1. Jakarta EE 迁移2. Spring Security 配置方式的变化3. PasswordEncoder 加密方式的变化4. permitAll() 和 authenticated() 的变化5. 更强的默认安全设置6. Java 17 支持与语法提升7. PreAuthorize、… 文章目录 Spring Boot 2 和 Spring Boot 3 中使用 Spring Security 的区别1. Jakarta EE 迁移2. Spring Security 配置方式的变化3. PasswordEncoder 加密方式的变化4. permitAll() 和 authenticated() 的变化5. 更强的默认安全设置6. Java 17 支持与语法提升7. PreAuthorize、Secured 注解的变化8. 更强的 HTTP/2 和 TLS 支持9. 更严格的 Bean 注入和依赖管理 Spring Boot 2 和 Spring Boot 3 中使用 Spring Security 的区别 从 Spring Boot 2 升级到 Spring Boot 3特别是与 Spring Security 的集成和配置存在一些显著的变化。这些变化主要是由于 Spring Security 5.x 和 6.x 之间的升级以及 Java 17 的引入和一些基础框架的更新例如 Jakarta EE 的迁移。下面我详细说明这两者的主要差异。 1. Jakarta EE 迁移 Spring Boot 3 依赖 Jakarta EE 9而 Spring Boot 2 使用的是 Java EEjavax 命名空间。这一变化是 Spring Framework 6 的一部分导致了 javax.* 命名空间的类迁移到 jakarta.*。 Spring Boot 2 使用的是 javax.servlet.、javax.validation. 等类。 Spring Boot 3 切换到 jakarta.servlet.、jakarta.validation.。 影响 如果你的应用程序使用了 javax 命名空间中的类例如过滤器、Servlets、JPA 等在 Spring Boot 3 中需要手动迁移到 jakarta 命名空间。 解决方案 在 Spring Boot 3 中确保使用 jakarta.* 包替代 javax.*。 2. Spring Security 配置方式的变化 Spring Security 在 Spring Boot 3 中更推荐使用新的 DSL 配置减少对 WebSecurityConfigurerAdapter 的依赖这个类已经被弃用。 Spring Boot 2 配置方式基于 WebSecurityConfigurerAdapter 在 Spring Boot 2 中通常通过继承 WebSecurityConfigurerAdapter 来配置安全设置。 Configuration public class SecurityConfig extends WebSecurityConfigurerAdapter {Overrideprotected void configure(HttpSecurity http) throws Exception {http.authorizeRequests().antMatchers(/public/**).permitAll().anyRequest().authenticated().and().formLogin().loginPage(/login).permitAll().and().logout().permitAll();} }Spring Boot 3 配置方式基于 SecurityFilterChain 和 Lambda DSL 在 Spring Boot 3 中WebSecurityConfigurerAdapter 已被弃用取而代之的是基于 SecurityFilterChain 和 Lambda 风格的配置。 Configuration public class SecurityConfig {Beanpublic SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception {http.authorizeHttpRequests(authz - authz.requestMatchers(/public/**).permitAll().anyRequest().authenticated()).formLogin(form - form.loginPage(/login).permitAll()).logout(logout - logout.permitAll());return http.build();} }主要区别 弃用了 WebSecurityConfigurerAdapterSpring Boot 3 推荐使用更简洁的 SecurityFilterChain 和 Lambda 风格配置。 配置更加灵活通过 Lambda 方式进行配置增强了代码的可读性。 3. PasswordEncoder 加密方式的变化 Spring Boot 3 仍然使用 PasswordEncoder 来加密和验证密码但与 Spring Boot 2 相比密码加密的默认方式和推荐方式发生了细微变化。 Spring Boot 2 在 Spring Boot 2 中常见的加密方式是使用 BCryptPasswordEncoder你可以手动选择或者直接用默认的 NoOpPasswordEncoder明文。 Bean public PasswordEncoder passwordEncoder() {return new BCryptPasswordEncoder(); }Spring Boot 3 在 Spring Boot 3 中仍然推荐使用 BCryptPasswordEncoder。不过Spring Security 6.x 增加了对更强密码策略的关注并逐渐抛弃了明文密码的方式。· Bean public PasswordEncoder passwordEncoder() {return PasswordEncoderFactories.createDelegatingPasswordEncoder(); // 更灵活的密码加密器 }注意NoOpPasswordEncoder不加密的明文存储不再推荐使用原因是安全性问题。 4. permitAll() 和 authenticated() 的变化 在 Spring Boot 3 中HttpSecurity 的 API 有一些调整 authorizeRequests() 被更改为 authorizeHttpRequests()以更好地反映它的作用范围。 anyRequest().authenticated() 等表达方式依然存在但推荐结合 Lambda 语法使用。 Spring Boot 2 示例 http.authorizeRequests().antMatchers(/public/**).permitAll() // 允许访问 /public/ 下的资源.anyRequest().authenticated(); // 其他请求都需要认证Spring Boot 3 示例 http.authorizeHttpRequests(authz - authz.requestMatchers(/public/**).permitAll() // 允许访问 /public/ 下的资源.anyRequest().authenticated() // 其他请求需要认证);主要变化从 authorizeRequests() 迁移到 authorizeHttpRequests()使 API 更加符合 RESTful 风格和表达能力。 5. 更强的默认安全设置 Spring Boot 3 提供了更强的默认安全性配置默认情况下对 CSRF、CORS、XSS 等安全性问题有更好的保护。 CSRF跨站请求伪造保护默认开启除非显式禁用。 HTTP Headers 安全性Spring Security 6.x 默认增加了一些常见的安全头比如 Strict-Transport-Security。 http// 由于使用的是JWT我们这里不需要csrf.csrf(AbstractHttpConfigurer::disable)// 基于token所以不需要session.sessionManagement(AbstractHttpConfigurer::disable);在 Spring Boot 2 中你可能需要手动配置某些安全头或 CSRF 保护。 http.csrf().disable(); // 如果你不需要 CSRF可以禁用6. Java 17 支持与语法提升 Spring Boot 3 要求 Java 17 作为最低支持版本。对于使用 Java 17 的 Spring Boot 3 应用你可以利用 Java 17 的新特性例如 Records、sealed classes 等。 record UserDto(String username, String role) {}Bean public UserDetailsService userDetailsService() {return username - {if (admin.equals(username)) {return User.withUsername(admin).password(password).roles(ADMIN).build();}throw new UsernameNotFoundException(User not found);}; }7. PreAuthorize、Secured 注解的变化 PreAuthorize 和 Secured 注解在 Spring Boot 3 中仍然支持不过在 Spring Security 6 中这些注解的使用方式保持不变但是对于 EnableGlobalMethodSecurity 的配置发生了变化。 Spring Boot 2 EnableGlobalMethodSecurity(prePostEnabled true, securedEnabled true) public class MethodSecurityConfig extends GlobalMethodSecurityConfiguration {Spring Boot 3 EnableMethodSecurity // 更简洁的配置方式 public class MethodSecurityConfig { }8. 更强的 HTTP/2 和 TLS 支持 Spring Boot 3 对 HTTP/2 和 TLS 的支持得到了加强尤其是与安全性相关的配置更加灵活。Spring Security 6 默认包含对更强密码套件的支持以及对新的 Web 技术如 WebAuthn的支持。 9. 更严格的 Bean 注入和依赖管理 Spring Boot 3 强调对依赖的更严格管理尤其是在安全配置和其他关键组件的配置上错误的配置将会更早暴露问题。这种变化使得应用程序在编译和启动时会更早发现配置错误避免在运行时出现潜在的安全风险。
http://www.dnsts.com.cn/news/159179.html

相关文章:

  • 广西南宁市住房和城乡建设局网站专业做网站的团队
  • 东莞专业的网站设计价格六盘水市城乡建设局网站
  • 长沙市住房与城乡建设厅网站html访问wordpress
  • 车辆保险网站佳匠网站建设
  • 宁波网站建设主页龙华网站设计公司
  • 大连网站设计九必选仟亿科技如何做淘宝客个人网站
  • 潍坊住房公积金管理中心官网百度seo排名
  • 住房和城乡建设部标准定额网站网站联系方式连接怎么做
  • 网站设置快捷方式到桌面重庆个人网络营销定制
  • 易思腾网站建设企业高端网站建设公司
  • 凯里哪里有做网站的云设计平台
  • 广东深圳广东深圳网站建设WordPress中文企业免费主题
  • 网站换域名要怎么做建筑公司查询网站
  • 做网站和做app有什么不同哪些网站做婚纱摄影
  • 淘宝客网站整站源码网页设计制作报价
  • 自己学习做网站做网站为什么图片上传不了
  • 电影网站开发api手机版网站开发教学
  • 糖果网站建设目的专业建设内容
  • python快速搭建网站wordpress域名配置
  • ps做网站页面步骤一流的赣州网站建设
  • 有趣的网站游戏人和马做的视频网站
  • 帮别人做网站市场价wap 网站开发
  • 黄冈做网站技术支持的做那个的网页
  • 网站开发运行环境有哪些北京市基础建设质量监督局网站
  • 用dw6做网站首页网页建站怎么做
  • 做网站找我图片网站建设后需要录入
  • 网站文明建设工程包括做行政关注什么类型的网站
  • 网站做友链盈利企业网站空间购买
  • 代做效果图网站哪家好wordpress添加全屏广告
  • 安阳建设网站wordpress手机视频播放器