springboot3整合SpringSecurity实现登录校验与权限认证

一:概述

        1.1 基本概念

                (1)认证

                                系统判断身份是否合法

                                        

                (2)会话

                                为了避免每次操作都进行认证可将用户信息保存在会话中

                                        

                            session认证

                                        服务端有个session,把 session id给前端,每次请求cookie都带着session id访问服务端

                                

                        token 认证(服务端不存储token信息)

                                

                        (3)授权

                                  系统校验有无使用某项功能的权限,授权是在认证后发生的,控制不同的用户能够访问不同的资源

                                

        1.2 RBAC        

                             (1)基于角色访问授权

                                

                             缺点:当需要修改角色权限时就需要修改授权的相关代码(系统可扩展性差)

                                

                        (2)基于资源的访问控制

                                

二:基于session的认证方式

        2.1 实现认证

                (1)创建maven工程:创建项目-pom.xml导入依赖-创建config类(使用java类【spring 容器加载类、ServletContext】代替xml文件)

                使用注解扫描包和类                                                                  ServletContext

                     

                                                加载Spring容器

                

                (2)基于session的认证方式

                        工具类

                                       

                        

                      Controller

                                

                        Service

                            

        2.2 实现会话

                (1)创建key

                          

                (2)登录成功后存入session

                   

                

        2.3 实现授权

                使用户和权限绑定

                        (1)service

                                        

                     (2)拦截器

                             

                    (3)WebCconfig增加拦截器(使拦截器生效)

                           

三:Spring Security

        3.1 概述

                

        3.2 创建工程

                (1)创建项目-添加依赖

                                

                (2)配置类

                                Spring容器配置

                                        

                                ServletConfig(SpringSecurity提供拦截用户请求授权的功能)

                                        

                               加载Spring容器

                                        

        3.3 认证功能

                (1)查询用户信息

                        InMemoryUserDetailsManager类似于SQL中的一个临时表或内存数据库,createUser 方法用来创建新的用户,类似于SQL中的INSERT INTO语句,                                     User.withUsername().password().authorities().build()类似于SQL中的VALUES子句,这里指定了新用户的各个属性

                        

                (2)密码编码器

                 

                (3)安全拦截机制

                                

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值