1 SpringBoot2中使用SpringSecurity5 - 准备SpringBoot工程

1 SpringBoot2中使用SpringSecurity5 - 准备SpringBoot工程

本系列文章旨在记录本人(dscloudy)在学习阶段和项目实战中对Spring Security的学习和使用过程,基于Spring Boot2脚手架,一步一步学习Spring Security5及相关的内容,最后在项目中使用这些内容。相关内容涉及:Spring Security,Spring Social, Spring Security OAuth等。

文章风格以实践为主,从创建工作、服务开发,到添加Spring Security进行认证,再到第三方登录、权限控制。目标是为实现一个权限管理系统做知识点储备。
跟着dscloudy哥,一定可以熟练掌握Spring Security在Spring Boot中的使用! Go!

1.1 初始化工程

既然看到这篇文章,无论你是否了解Spring Security的功能,dscloudy哥都不废话描述,反正与应用程序的安全相关就对了,动手为王,干吧!

1.1.1 有关工具

  1. JDK 1.8
  2. IntelliJ Idea
  3. MySQL 8.0

1.1.2 创建工程

  1. 启动 IntelliJ Idea, 在里面创建一个Maven工程: File -> New -> Project,选择 Maven, 选择Project SDK(JDK版本),点击Next:

    1 SpringBoot2中使用SpringSecurity5 - 准备SpringBoot工程_第1张图片
    15579826709573.jpg

  2. 填写 GroupId, ArtifactId后,点击Next:


    1 SpringBoot2中使用SpringSecurity5 - 准备SpringBoot工程_第2张图片
    15579827653632.jpg
  3. 输入 Project name,点击Next:


    1 SpringBoot2中使用SpringSecurity5 - 准备SpringBoot工程_第3张图片
    15579828214063.jpg
  4. 为项目创建一个包,作为项目的基础包:com.dscloudy.demo.springsecurity

    1 SpringBoot2中使用SpringSecurity5 - 准备SpringBoot工程_第4张图片
    15579829306733.jpg

1.2 加入SpringBoot

编写本文时,SpringBoot的最新GA版本是 2.1.5.RELEASE,既然是学习,就别说什么稳定不稳定之类的话、抱着老版本不肯撒手,咱就使用这个最新的GA版本。(所谓的稳定版本老版本,曾经也是新版本)

添加 SpringBoot 时,可以按照官网的帮助文档操作。

1.2.1 修改pom.xml文件

a) 添加 parent:

    
    
        org.springframework.boot
        spring-boot-starter-parent
        2.1.5.RELEASE
    

b) 添加属性配置:

    
        UTF-8
        UTF-8
        1.8
    

c) 添加 web 依赖:

    
        
            org.springframework.boot
            spring-boot-starter-web
        
    

d) 添加编译构建插件:

    
        
            
            
                org.apache.maven.plugins
                maven-compiler-plugin
                3.8.0
                
                    ${java.version}
                    ${java.version}
                
            

            
                org.springframework.boot
                spring-boot-maven-plugin
            
        
    

上述内容添加后,记得点击“Import Changes”,Idea会导入涉及到的依赖包。

1.2.2 创建启动类

在基础包com.dscloudy.demo.springsecurity中创建 SpringSecurityDemoApplication 类:

@SpringBootApplication
public class SpringSecurityDemoApplication {

    public static void main(String[] args) {
        SpringApplication.run(SpringSecurityDemoApplication.class, args);
    }
}

1.2.3 创建配置文件

resources目录中创建配置文件application.yml:

server:
  port: 9090

1.2.4 创建一个测试控制器

创建Controller: com.dscloudy.demo.springsecurity.controller.DemoController.

@RestController
public class DemoController {

    @GetMapping("/demo")
    public String demo() {
        return "Hello Spring Security";
    }
}

1.2.5 创建一个测试页面

resources目录下新建 resources/admin/test.html文件:




    
    Test


    

Test Page

这个页面也是用来测试权限。

1.3 启动工程

运行 SpringSecurityDemoApplication 中的main函数,启动工程。分别测试接口和页面是否可以正常访问。

  • 接口: http://localhost:9090/demo
  • 页面: http://localhost:9090/admin/test.html

若两者都能正常访问,则基础工程创建完毕,下一节就正式进入Spring Security。

欢迎关注微信公众号


1 SpringBoot2中使用SpringSecurity5 - 准备SpringBoot工程_第5张图片
tdc.jpg

你可能感兴趣的:(1 SpringBoot2中使用SpringSecurity5 - 准备SpringBoot工程)