IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> Spring Security 安全框架应用 -> 正文阅读

[Java知识库]Spring Security 安全框架应用

1. Spring Security 简介

1.1 背景分析

企业中数据是最重要的资源,对于这些数据而言,有些可以直接匿名访问,有些只能登录以后才能访问,还有一些你登录成功以后,权限不够也不能访问.总之这些规则都是保护系统资源不被破坏的一种手段.几乎每个系统中都需要这样的措施对数据(资源)进行保护.我们通常会通过软件技术对这样的业务进行具体的设计和实现.早期没有统一的标准,每个系统都有自己独立的设计实现,但是对于这个业务又是一个共性,后续市场上就基于共享做了具体的落地实现,例如SpringSecurity,Apache shiro诞生了.

1.2 Spring Security 概述

Spring Security 是一个企业级安全框架,有Spring官方推出,它对软件系统中的认证,授权,加密等功能进行封装,并在SpringBoot技术推出以后,配置方面做了很大的简化.市场上现在的分布式架构下的安全控制正在逐步的转向Spring Security.

1.3 Spring Security 基本架构

Spring Security 在企业中实现认证和授权业务时,低层构建了大量的过滤器.
在这里插入图片描述
其中:绿色部分为认证过滤器,需要我们自己配置,也可以配置多个认证过滤器.也可以使用Spring Security提供的默认认证过滤器.黄色部分为授权过滤器.Spring Security就是通过这些过滤器然后调用相关对象一起完成认证和授权操作.

2. Spring Security 快速入门

2.1 创建工程

在这里插入图片描述

2.2 添加项目依赖

<parent>
        <artifactId>spring-boot-starter-parent</artifactId>
        <groupId>org.springframework.boot</groupId>
        <version>2.3.2.RELEASE</version>
    </parent>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-security</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
        </dependency>
    </dependencies>

创建配置文件
在resources目录下创建application.yml文件,并指定服务端口

server:
	port:8080

2.3 创建项目启动类并运行

在这里插入图片描述
第一步:检查控制台输出的密码

Using generated security password: 800993a7-c97b-4563-8b0e-ee42d292be2c

第二步:浏览器访问localhost:8080如下显示
在这里插入图片描述
用户名:user(系统默认)
密?码:800993a7-c97b-4563-8b0e-ee42d292be2c(控制台生成)

登陆后的效果:
404不是错,是因为没有默认登录页面
在这里插入图片描述

自定义登陆成功页面

在项目的resources目录下创建static目录,并在此目录创建一个index.html文件
在这里插入图片描述
重启服务再次登录访问测试,登录成功后系统默认跳转到index.html页面
https://img-blog.csdnimg.cn/fc102bb42d4641eb83c845ecf047f388.png

配置登录密码

在application.yml文件中可配置用户名和密码

spring:
  security:
    user:
      name: DJH
      password: ghhyw

查看application.yml文件可以看到密码,可以采用密码加密算法生成密码,如MD5, BCrypt,如下:
在这里插入图片描述
在这里插入图片描述
其中,{bcrypt}是指定密码加密时使用的算法

3. Spring Security 认证实践

4. Spring Security 授权实践

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2021-07-29 11:30:08  更:2021-07-29 11:30:56 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/9 8:22:18-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码