概述
Spring 官网对 SpringSecurity 的简介
Spring Security is a powerful and highly customizable authentication and access-control framework. It is the de-facto standard for securing Spring-based applications.
翻译过来的大概意思就是 SpringSecurity 是一个强大并且支持高自定义性的认证和授权框架
SpringSecurity 是什么?
- SpringSecurity 是一个 Spring 团队开发基于 Spring 的 认证 和 授权 框架
- 特点是 功能强大 且 支持高自定义性
为什么要使用 SpringSecurity?
- 为了解决系统中 认证 与 授权 的需求
- 对比自己手动实现的认证、授权框架,SpringSecurity 有以下优点
- 比较成熟
- 对于基于 Spring 开发的项目,集成快速
- 无缝对接 Spring 平台
- 可扩展性高
- 功能强大
快速入门
-
环境准备
- IDEA
- jdk 1.8
- maven 3.5 或 IDEA 自带 Maven 3
-
步骤
-
使用 IDEA 创建一个 SpringBoot 项目,在新建项目选择 Dependeces 勾选 Security,或者创建项目后再 pom 文件中手动添加如下依赖。PS: 本次 SpringSecurity 文章中 SpringBoot 版本为 1.5.19.RELEASE,SpringSecurity 版本为 4.2.11.RELEASE。
<!-- 添加 SpringSecurity 依赖,当前的 SpringBoot 版本使用的 1.5.19,对应的 SpringSecurity 版本为 4.2.11 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId> </dependency>
-
创建一个 Restful 接口,用来做之后访问的目标。
/** * @author: hblolj * @Date: 2019/3/13 16:06 * @Description: * @Version: **/ @RestController public class TestController { @RequestMapping("/hello") public String hello(){ return "Hello Spring Security"; } }
-
启动应用,成功启动后,观察控制台,会发现如下日志输出
注意日志中下面这一行,后面会用到
Using default security password: ce87e8ab-8233-447b-82d8-90268d891615
-
打开我们的浏览器,在地址栏输入接口地址,访问我们的接口 http://localhost:8080/security/hello (8080 端口与 security 路径是我通过 yml 配置文件自己设置的)。按下回车键,会弹出如下对话框:
该对话框需要我们输入用户名与密码进行登录,从这里可以分析出,我们上面定义的接口已经被保护起来了,访问必要要先认证,而认证的方式是通过填写这个对话框。
这里用户名默认为 user,密码则为上面我们叫大家留意的哪一行日志 (ce87e8ab-8233-447b-82d8-90268d891615),这里说明一下,这个密码是随机的,每次启动服务,都会生成一个随机的密码。
-
按照说明,我们键入用户名和密码,点击登录按钮,就可以访问到我们上面自定义的接口了。
-
-
总结:按照上述步骤,我们就在一个基于 SpringBoot 的项目中引入了 SpringSecurity 框架,但是显而易见的,我们发现这种默认的实现是不能够满足我们的日常开发需求的,我们将可能会用的需求列一下
- 用户登录不可能以这种弹框形式去登录,一般网页都有自己的登录页面(自定义登录页面)
- 用户名、密码应该是从数据库中读取,而不是默认和随机的(自定义认证逻辑)
- 并不是对所有的资源或接口都需要认证(设置资源白名单)
- …
所以在下一篇文章中,我们会实现一个自定义的表单登录示例,To Be Continue…
最后
以上就是秀丽季节为你收集整理的1. SpringSecurity 快速入门与简单使用的全部内容,希望文章能够帮你解决1. SpringSecurity 快速入门与简单使用所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复