0
点赞
收藏
分享

微信扫一扫

Spring Security认识

花明 2022-06-27 阅读 73

一、简介

(1)spring security 简介

●Spring家族一员。是一个能够为基于Spring的企业应用系统提供声明式的安全访 问控制解决方案的安全框架。

●它提供了一组可以在Spring应用上下文中配置的Bean,充分利用了 Spring IoC 和 AOP( 功能,

●为应用系统提供声明式的安全访问控制功能,减少了为企业系统安 全控制编写大量重复代码的工作。

●对于authentication和authorization,Spring Security 框架都有很好的支持。

○在用户认证(authentication)方面,Spring Security 框架支持主流的认证方式,包括 HTTP 基本认证、HTTP 表单验证、HTTP 摘要认证、OpenID 和 LDAP 等。

○在用户授权方面(authorization),Spring Security 提供了基于角色的访问控制和访问控制列表(ACL),可以对应用中的领域对象进行细粒度的控制。

spring security 的主要功能就是 认证 和 授权

spring security不仅可以帮助我们实现单体应用的认证和授权,还可以帮助我们实现分布式中的oAuth2.0协议的认证授权

●使用Spring Security可以帮助我们来简化认证和授权的过程

●官网:​​https://spring.io/projects/spring-security​​ 

●spring security的认证还是基于session的,在认证方面做的并不好,但授权做的不错;认证方面也可以选择其他框架

(2)什么是认证和授权

认证:

○ 认证就是取得合法身份,比如京东需要用户登录,这里的登录就是认证。

授权:

○可以给不同的角色设置不同的菜单的访问,这个功能就可以通过授权实现;当用户要使用某个功能的时候,会先进行权限判定

○根据用户的权限,来控制用户资源访问的过程

(3)什么是会话

用户认证之后,为避免每次操作都要认证,可将用户的信息保存在会话中

会话就是系统为了保存当前用户登入状态的机制

常见的会话方式:

○session方式

○基于token方式(token相当于session中的cookie的作用)

○cookie+redis (redis存储用户信息,cookie负责放客户端找到redis相应的值)

(4)授权的数据模型

●主体对资源的权限

●权限的控制一般需要一套表结构的支持:

○关键表:用户表t_user、角色表t_role、菜单表t_menu、权限表t_permission

○中间表:用户角色关系表t_user_role、角色权限关系表t_role_permission、角色菜单关系表t_role_menu。

○一个用户多种角色、一个角色多个菜单、一个角色多种权限

Spring Security认识_spring

举报

相关推荐

0 条评论