Spring Security认证授权介绍

一、目标

真正控制系统权限的,需要引入专门的安全框架才行,所以,我们今天重点来学习Spring家族中的一员Spring Security安全框架。最终呢,我们会使用Spring Security框架来控制养老项目的后台管理系统

  • 能够熟悉常见的权限控制的方式及常用技术

  • 能够掌握Spring Security安全框架的作用

  • 能够完成Spring Security安全框架的入门案例

  • 能够掌握Spring Security密码加密的方式及特点

  • 能够掌握Spring Security框架授权的思路

  • 能够完成Spring Security整合JWT实现前后端分离项目的认证

二、权限框架

(1)、概述

权限管理是所有后台系统的都会涉及的一个重要组成部分,主要目的是对不同的人访问资源进行权限的控制,避免因权限控制缺失或操作不当引发的风险问题,如操作错误,隐私数据泄露等问题。

那么如何在项目中实现权限呢?我们下面列举以下几个方案:

方案一:使用 拦截器 (过滤器)+ JWT 实现地址鉴权

方案二:使用权限框架 Shiro

方案三:方案二:使用权限框架 Spring Security

Shiro和Spring Security都是成熟的安全框架,在养老项目目前已经在使用Spring框架,那么Spring Security就是更好的选择。并且在使用市场占比上Spring Security也远超于Shiro

(2)、核心概念

  • 认证

大家可以简单的理解为:用户登录的行为就是认证(你是谁)

判断用户是否存在,判断用户密码是否正确

  • 授权

授权就是用户登录后,控制用户是否有权限访问某些资源。

我们有很多的资源api列表,那这个登录后的用户是否拥有这个api访问权限

相关推荐
Web项目开发18 分钟前
Mysql创建索引的SQL脚本,复制粘贴即可使用
数据库·sql·mysql
Waloo28 分钟前
SQL Server 2017 EXISTS 关键字 完整用法详解(最全 + 最优写法 + 性能对比)
sql·sql server
晴天¥1 小时前
Oracle如何在DBeaver上进行登录
数据库·oracle
2301_800256111 小时前
事务处理-同步与调度-两阶段锁-隔离级别
数据库·oracle
小罗和阿泽1 小时前
MySql数据库系列 数据库基础操作
数据库·mysql
周末吃鱼1 小时前
mysql8.0支持CURRENT_DATE如何写
数据库·sql·mysql
kaico20181 小时前
MySQL的窗口函数
数据库·mysql
MM_MS2 小时前
Halcon控制语句
java·大数据·前端·数据库·人工智能·算法·视觉检测
薛定谔的猫19822 小时前
LlamaIndex(三) LlamaHub工具集
数据库·mysql·llamahub
小画家~2 小时前
第四十六: channel 高级使用
java·前端·数据库