史上最简单的Spring Security教程(一):一分钟搭建SpringSecurity

 

说起来Web应用安全,通用的方案无非 Spring Security 和 Apache Shiro。这两者我们在此不做比较,用Spring Security多,无非是因为 Spring 框架的“裙带关系”,当然了,也有一些其它原因,如CAS集成、OAuth2集成等等,都有比较成熟的集成框架方案。

Spring Security框架,说实话,比较复杂,好多人一开始不太理解,只会照搬网上的答案,遇到问题解决不了。这是非常不好的习惯,技术方案一定是自己能解决的,或者说比较容易找到解决方案的,不然生产环境出问题、亦或是后续业务发展不满足等等,都会出现比较大的问题。

本系列正是基于此,一方面巩固一下对于Spring Security框架的理解,另一方面,将一些常见场景的解决方案做一些分享,同时,对自己也是又一次深层次的学习。

话不多说,开头一篇,就教大家如何在一分钟之内搭建Spring Security应用

 

pom

 

添加Spring Security依赖:

<dependency>    <groupId>org.springframework.bootgroupId>    <artifactId>spring-boot-starter-securityartifactId>dependency>
   
     
     
     
     

 

 

配置

 

Spring Security 配置

 

Spring Security配置比较简单,什么也不需要配置,只需要添加 @EnableWebSecurity、@Configuration 两个注解即可。

@EnableWebSecurity@Configurationpublic class SpringSecurityConfiguration extends WebSecurityConfigurerAdapter {}
   
     
     
     
     

 

用户名密码

 

本文采用静态的用户名密码进行配置。

spring:  security:    user:      name: zhangsan      password: 123456
   
     
     
     
     

其它的如Controller、页面等不再赘述,读者可自行查看相关源码。

 

演示

 

启动工程,访问http://localhost:8080/springsecuritylearning/index,系统跳转到登录界面。

史上最简单的Spring Security教程(一):一分钟搭建SpringSecurity_第1张图片

输入刚才配置的用户名、密码后,点击 Sign in,系统自动跳转到 index 页面。

史上最简单的Spring Security教程(一):一分钟搭建SpringSecurity_第2张图片

Spring Security框架搭建完成!

 

源码

 

github

 

https://github.com/liuminglei/SpringSecurityLearning/tree/master/01

 

gitee

https://gitee.com/xbd521/SpringSecurityLearning/tree/master/01

 

 

 

你可能感兴趣的:(spring,java,spring,boot)