史上最简单的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.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
配置
Spring Security 配置
Spring Security配置比较简单,什么也不需要配置,只需要添加 @EnableWebSecurity、@Configuration 两个注解即可。
@EnableWebSecurity
@Configuration
public class SpringSecurityConfiguration extends WebSecurityConfigurerAdapter {
}
用户名密码
本文采用静态的用户名密码进行配置。
spring:
security:
user:
name: zhangsan
password: 123456
其它的如Controller、页面等不再赘述,读者可自行查看相关源码。
演示
启动工程,访问http://localhost:8080/springsecuritylearning/index,系统跳转到登录界面。
输入刚才配置的用户名、密码后,点击 Sign in,系统自动跳转到 index 页面。
Spring Security框架搭建完成!
源码
github
https://github.com/liuminglei/SpringSecurityLearning/tree/master/01
gitee
https://gitee.com/xbd521/SpringSecurityLearning/tree/master/01
回复以下关键字,获取更多资源
SpringCloud进阶之路 | Java 基础 | 微服务 | JAVA WEB | JAVA 进阶 | JAVA 面试 | MK 精讲
笔者开通了个人微信公众号【银河架构师】,分享工作、生活过程中的心得体会,填坑指南,技术感悟等内容,会比博客提前更新,欢迎订阅。
上一篇: Hibernate级联查询实体关系映射
下一篇: hashids保护数据库主键
推荐阅读
-
史上最简单的Spring Security教程(十一):url区分不同的登录失败场景
-
史上最简单的Spring Security教程(二十):AccessDecisionVoter必须全部拥有请求所需权限才可访问
-
史上最简单的Spring Security教程(四十):SecurityContextPersistenceFilter详解
-
史上最简单的Spring Security教程(十三):动态用户
-
史上最简单的Spring Security教程(十四):动态权限(自定义UserDetailsService)
-
史上最简单的Spring Security教程(十九):AccessDecisionVoter简介及自定义访问权限投票器
-
史上最简单的Spring Security教程(十五):资源权限动态控制(FilterSecurityInterceptor)
-
史上最简单的Spring Security教程(二十七):AuthenticationManager默认实现之ProviderManager详解
-
史上最简单的Spring Security教程(二十二):自定义AccessDecisionManager实现简单的访问决策
-
史上最简单的Spring Security教程(十六):FilterSecurityInterceptor详解