Spring Boot整合Spring Security最简单的用法

使用Spring Boot开发的WEB应用,有时候我们并不需要复杂的权限验证,只需要使用固定的账号密码登录访问即可,这种场景通过整合Spring Security,不需要太多的配置就能很好的满足,就连登录页面Spring Security都已经给我们准备好了,下面就来给大家演示下具体怎么使用~

  • Spring Boot版本 2.5.4

使用方式

1. 修改Spring Boot工程中的pom.xml maven配置文件,添加Spring Security的依赖
示例配置:
https://github.com/netbuffer/spring-security-demo/blob/config-user-yaml/pom.xml

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-security</artifactId>
        </dependency>

  • 2. 修改Application.yml配置文件,设定帐号密码
    示例配置:https://github.com/netbuffer/spring-security-demo/blob/config-user-yaml/src/main/resources/Application.yaml
  • spring:
      security:
        user:
          # 替换为你自定义的设置
          name: admin
          password: admin

    3. 建立测试用的Controller,在没有显示配置Spring Security权限路径的情况下,用户如果没有登录,那么除了登录路径/login可以访问外,其他资源路径都会被Spring Security的过滤器拦截,并强制重定向到登录页面!
    示例代码:
    https://github.com/netbuffer/spring-security-demo/blob/config-user-yaml/src/main/java/cn/netbuffer/springsecuritydemo/controller/AppController.java

    @RestController
    @RequestMapping("/app")
    public class AppController {
    
        @GetMapping
        public String get(){
            return "app";
        }
    }

    运行效果

    此时,已经做好了最基本的配置了,启动工程访问测试下

    GET /app HTTP/1.1
    Host: localhost:18000

    访问受保护的资源路径/App,可以看到会被Spring Security拦截并重定向到了登录页面,输入正确的账号密码后才可以正常访问

    Spring Boot整合Spring Security最简单的用法

    完整效果

    Spring Boot整合Spring Security最简单的用法

    spring security.gif

    完整测试工程地址:
    https://github.com/netbuffer/spring-security-demo/tree/config-user-yaml

    © 版权声明
    THE END
    如果内容对您有所帮助,就支持一下吧!
    点赞0 分享
    ·下次見面有花吗的头像 - 鹿快
    评论 抢沙发

    请登录后发表评论

      暂无评论内容