前面介绍了Spring Boot 使用JWT实现Token验证,其实Spring Boot 有完整的安全认证框架:Spring Security。接下来我们介绍如何集成Security 实现安全验证。
一、Security简介
安全对于企业来说至关重要,必要的安全认证为企业阻挡了外部非正常的访问,保证了企业内部数据的安全。
当前,数据安全问题越来越受到行业内公司的重视。数据泄漏很大一部分原因是非正常权限访问导致的,于是使用合适的安全框架保护企业服务的安全变得非常紧迫。在Java领域,Spring Security无疑是最佳选择之一。
Spring Security 是 Spring 家族中的一个安全管理框架,能够基于 Spring 的企业应用系统提供声明式的安全访问控制解决方案。它提供了一组可以在Spring应用系统中灵活配置的组件,充分利用了 Spring的IoC、DI和AOP等特性,为应用系统提供声明式的安全访问控制功能,减少了为企业系统安全控制编写大量重复代码的工作。
二、Spring Boot对Security的支持
虽然,在Spring Boot出现之前,Spring Security已经发展多年,但是使用并不广泛。安全管理这个领域一直是Shiro的天下,因为相对于Shiro,在项目中集成Spring Security还是一件麻烦的事情,所以Spring Security虽然比Shiro强大,但是却没有Shiro受欢迎。
随着Spring Boot的出现,Spring Boot 对Spring Security 提供了自动化配置方案,可以零配置使用 Spring Security。这使得Spring Security重新焕发新的活力。
Spring Boot 提供了集成 Spring Security 的组件包
spring-boot-starter-security,方便我们在 Spring Boot 项目中使用 Spring Security进行权限控制。
在resources/templates 目录下创建页面 index.html,这个页面就是具体的需要增加权限控制的页面,只有登录了才能进入此页。
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymeleaf.org">
<body>
<h1>Hello</h1>
<p>我是登录后才可以看的页面</p>
</body>
</html>
我是登录后才可以看的页面
大型站长资讯类网站! https://www.nzzz.com.cn