摘要:权限控制在我们的项目当中一般都有用到,有简单的登录就搞定的权限访问,也有分级身份的权限控制, 而权限控制的方式对于不同的需求也有多种选择,小到使用代码硬编码,自定义过滤器,自定义拦截器等等。更加灵活的方式则是使用已有的权限工具。 如shiro,springsecurity等。而本系列博客将重点介绍springsecurity的工作原理以及应用。
springsecurity的官方介绍:Spring Security是一个功能强大且可高度自定义的身份验证和访问控制框架。它是保护基于Spring的应用程序的框架。 Spring Security是一个专注于为Java应用程序提供身份验证和授权的框架。与所有Spring项目一样,Spring Security的真正强大之处在于它可以轻松扩展以满足自定义要求
从上面的介绍我们知道,spring security是基于spring框架的,所以与spring基本无缝集成,而本系列博客也将使用最新的springboot(没接触过的可以先学习springboot系列教程) 进行演示,好了,说了这么多废话,接下来看hello world的入门搭建。
环境搭建
基础环境,springboot: 2.1.1.RELEASE 注意,因为本项目演示有多个,所以我把他们构建成了多个子项目。 父pom文件:
<?xml version="1.0" encoding="UTF-8"?>
hello-world版本pom文件:
<?xml version="1.0" encoding="UTF-8"?>
注意上方引入了lombok和freemarker,主要为了演示方便。
基础配置
- 环境搭建好后,接下来开始编写helloworld程序,首先编写一个freemarker模板(不知道的可以当作html处理) hello.html放到templates目录下方
<!DOCTYPE html>
- 修改application.yml
server
上方配置先不进行讲解,下章解析工作原理时会着重进行讲解,各位可以先跟着配置。
- 编写controller
@Controller
此处为映射请求 /hello 到我们编写的 hello.html程序。
- 启动应用(main app) 接下来我们在浏览器访问 hello, 出现如下拦截页面:
代表我们的hello请求已经被拦截。接下来输入 application.yml中配置的用户名密码,成功访问。
我们的helloworld程序也就成功了。
总结
本hello world程序展示了springboot结合springsecurity基础配置,接下来我将讲解springsecurity是如何工作的。 本项目git地址:spring-security-demos
本文原创地址,[https://jsbintask.cn/2019/01/08/springsecurity-helloworld/#more](https://jsbintask.cn/2019/01/08/springsecurity-helloworld/#more)未经允许,禁止转载。