我是靠谱客的博主 秀丽季节,最近开发中收集的这篇文章主要介绍1. SpringSecurity 快速入门与简单使用,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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 配置文件自己设置的)。按下回车键,会弹出如下对话框:

      1552465921774

      该对话框需要我们输入用户名与密码进行登录,从这里可以分析出,我们上面定义的接口已经被保护起来了,访问必要要先认证,而认证的方式是通过填写这个对话框。

      这里用户名默认为 user,密码则为上面我们叫大家留意的哪一行日志 (ce87e8ab-8233-447b-82d8-90268d891615),这里说明一下,这个密码是随机的,每次启动服务,都会生成一个随机的密码。

    • 按照说明,我们键入用户名和密码,点击登录按钮,就可以访问到我们上面自定义的接口了。

      1552466161653

  • 总结:按照上述步骤,我们就在一个基于 SpringBoot 的项目中引入了 SpringSecurity 框架,但是显而易见的,我们发现这种默认的实现是不能够满足我们的日常开发需求的,我们将可能会用的需求列一下

    • 用户登录不可能以这种弹框形式去登录,一般网页都有自己的登录页面(自定义登录页面)
    • 用户名、密码应该是从数据库中读取,而不是默认和随机的(自定义认证逻辑)
    • 并不是对所有的资源或接口都需要认证(设置资源白名单)

    所以在下一篇文章中,我们会实现一个自定义的表单登录示例,To Be Continue…

最后

以上就是秀丽季节为你收集整理的1. SpringSecurity 快速入门与简单使用的全部内容,希望文章能够帮你解决1. SpringSecurity 快速入门与简单使用所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(48)

评论列表共有 0 条评论

立即
投稿
返回
顶部