HttpSecurity

这是Spring Security提供的配置类, 用户保护基于HTTP的请求 ,通过HttpSecurity可以设置各种安全设置{认证,授权,CSRF保护,会话管理,异常处理}

主要功能和配置:
1.认证配置

  • 配置登录和登出功能,指定登录页面、登录处理 URL、成功和失败处理器等。
  • 配置认证方式,如表单登录、HTTP Basic 认证、OAuth2 登录等。

示例代码:

http
      .formLogin()
      .loginPage("/login") // 自定义登录页面
        .loginProcessingUrl("/perform_login") // 登录处理 URL
        .defaultSuccessUrl("/home", true) // 登录成功后跳转的页面
        .failureUrl("/login?error=true") // 登录失败后跳转的页面
        .permitAll() // 允许所有用户访问登录页面
    .and()
    .logout()
        .logoutUrl("/perform_logout") // 登出处理 URL
        .deleteCookies("JSESSIONID") // 删除特定的 Cookie
        .logoutSuccessUrl("/login"); // 登出成功后跳转的页面

2.授权配置

  • 配置 URL 访问权限,指定哪些 URL 需要什么角色或权限才能访问
  • 配置全局方法安全性,使用注解如 @PreAuthorize@Secured 来控制方法级别的访问。

示例代码:

http
      .authorizeRequests()
      .antMatchers("/admin/**").hasRole("ADMIN") // 只有 ADMIN 角色可以访问
        .antMatchers("/user/**").hasAnyRole("USER", "ADMIN") // 只有 USER 或 ADMIN 角色可以访问
        .antMatchers("/public/**").permitAll() // 所有人都可以访问
        .anyRequest(<

相关推荐

  1. HttpSecurity

    2024-06-13 09:04:01       32 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-06-13 09:04:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-06-13 09:04:01       101 阅读
  3. 在Django里面运行非项目文件

    2024-06-13 09:04:01       82 阅读
  4. Python语言-面向对象

    2024-06-13 09:04:01       91 阅读

热门阅读

  1. Python3 数据结构

    2024-06-13 09:04:01       26 阅读
  2. 什么是 RESTful API?谈谈你对它的理解。

    2024-06-13 09:04:01       26 阅读
  3. kotlin 协程之初识挂起函数

    2024-06-13 09:04:01       30 阅读
  4. 联想测开一面(电话面试)笔试60%

    2024-06-13 09:04:01       35 阅读
  5. 常用Object的方法

    2024-06-13 09:04:01       22 阅读
  6. (32)ADC接口--->(007)FPGA实现AD7606接口

    2024-06-13 09:04:01       32 阅读
  7. vim 显示行号

    2024-06-13 09:04:01       23 阅读
  8. 短剧app系统开发(对接广告联盟)源码搭建

    2024-06-13 09:04:01       32 阅读
  9. 加密算法:RSA非对称加密算法

    2024-06-13 09:04:01       24 阅读