返回顶部
首页 > 资讯 > 后端开发 > Python >springsecurity3实现的过程
  • 515
分享到

springsecurity3实现的过程

过程 2023-01-31 02:01:18 515人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

 1.在类初始化的时候,InvocationSecurityMetadataSource类就会调用loadResourceDefine()的方法,取到所用的资源对应的角色关系。(这个步骤是在Tomcat容器启动的时候调用的)  2.当用户访

 1.在类初始化的时候,InvocationSecurityMetadataSource类就会调用loadResourceDefine()的方法,取到所用的资源对应的角色关系。(这个步骤是在Tomcat容器启动的时候调用的)

  2.当用户访问某个资源时,提交的url就会被我们自定义的过滤器(MyFilterSecurityInterceptor)

拦截,进入doFilter()的方法,在调用该方法前,会执行InterceptorStatusToken token = super.beforeInvocation(fi),当执行这行代码时,会进入InvocationSecurityMetadataSource类的另一个方法getAttributes(Object object),该方法返回的是某个资源对应的权限集合(比如说/index.jsp所对应的权限是ROLE_USER),参数object可以理解为一个url。

  3.在得到某个资源对应的权限集合后,就会进入AccessDecisionManager类的decide()方法,首先得到资源的权限,然后得到用户的权限,判断用户是否具有该资源的权限,有的就放行,没的就返回登入页面或抛出一个无权限的异常。

  4.当用户通过登入页面提交表单时,进入到UserDetailsService类的loadUserByUsername()方法,并把用户名当参数传入,如果取到了用户的权限,则经过自定义的过滤器,做上面2和3的步骤。

  5.进入登入页面后,用户每当点击一个资源,都要经过过滤器拦截,判断是否具有访问该资源的权限,有的就放行,没的就跳入权限受阻的页面,这样就差不多欧了


--结束END--

本文标题: springsecurity3实现的过程

本文链接: https://lsjlt.com/news/187054.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • springsecurity3实现的过程
     1.在类初始化的时候,InvocationSecurityMetadataSource类就会调用loadResourceDefine()的方法,取到所用的资源对应的角色关系。(这个步骤是在tomcat容器启动的时候调用的)  2.当用户访...
    99+
    2023-01-31
    过程
  • HIVE实现wordcount的过程
    这篇文章主要讲解了“HIVE实现wordcount的过程”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“HIVE实现wordcount的过程”吧!1、建表并关联数据:进入hive命令行:hiv...
    99+
    2023-06-03
  • Ajax的原理及实现过程
    这篇文章主要介绍“Ajax的原理及实现过程”,在日常操作中,相信很多人在Ajax的原理及实现过程问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Ajax的原理及实现过程”的疑惑...
    99+
    2024-04-02
  • golang 熔断器的实现过程
    目录1.熔断器的模式2.gobreaker 的实现2.1熔断器的定义2.2请求的执行2.3请求之前的判定操作2.4请求之后的处理操作 熔断器像是一个保险丝。当我们依赖的服务出现问题时...
    99+
    2024-04-02
  • MyBatis基本实现过程
    目录MyBaties简介MyBatis历史为什么要使用MyBatisMyBatis-HelloWorld主要步骤创建Mapper接口创建MyBatis全局配置文件创建SQL映射文件测...
    99+
    2024-04-02
  • VS2019开发Linux C++程序的实现过程
    这篇文章主要讲解了“VS2019开发Linux C++程序的实现过程”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“VS2019开发Linux C++程序的实现过程”吧!一级目录第一步, 先将...
    99+
    2023-06-20
  • Android评论功能的实现过程
    目前,各种App的社区或者用户晒照片、发说说的地方,都提供了评论功能,为了更好地学习,自己把这个功能实现了一下,做了个小的Demo。 首先推荐一款实用的插件LayoutCre...
    99+
    2022-06-06
    Android
  • c++ vector模拟实现的全过程
    一、vector是什么? vector是表示可变大小数组的序列容器,它也采用连续存储空间来存储元素,因此可以采用下标对vector的元素进行访问,它的大小是动态改变的,vector...
    99+
    2024-04-02
  • Spring中的注解@Autowired实现过程
    本篇内容介绍了“Spring中的注解@Autowired实现过程”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!前言使用 Spring 开发时...
    99+
    2023-06-20
  • 拓扑排序Python实现的过程
    目录有向无环图拓扑排序算法步骤代码实现总结有向无环图 拓扑排序是针对有向无环图(DAG, Directed Acyclic Graph)的 具有以下性质: 如果这个图不是 DAG,那...
    99+
    2023-01-31
    拓扑排序Python 拓扑排序 Python拓扑排序
  • Python opencv医学处理的实现过程
    题目描述 利用opencv或其他工具编写程序实现医学处理。 实现过程 # -*- coding: utf-8 -*- ''' 作者 : 丁毅 开发时间 : 2021/5/9 16:30 ''' import c...
    99+
    2022-06-02
    Python opencv医学处理 Python opencv医学
  • 使用docker安装hadoop的实现过程
    目录1.拉镜像2.创建容器1.创建hadoop内部网络2.创建master容器,开放端口3.创建slave1容器,不开放端口4.创建slave2容器,不开放端口3.三台主机都修改/e...
    99+
    2023-01-30
    docker安装hadoop docker hadoop
  • vue中this.$message的实现过程详解
    目录一、vue中为什么可以直接使用this.$message二、message组件的内部实现原理三、总结一、vue中为什么可以直接使用this.$message 1、Message在...
    99+
    2023-05-18
    vue中this.$message实现过程 vue中this.$message实现 vue this.$message
  • SpringAOP的概念与实现过程详解
    目录Aop实现aop方式一实现aop方式二注解实现aopAop 什么是Aop? AOP就是面向切面编程,通过预编译方式以及运行期间的动态代理技术来实现程序的统一维护功能。 什么是切面...
    99+
    2023-02-22
    Spring AOP概念 Spring AOP实现方式
  • Linux进程网络流量统计的实现过程
    前言 linux都有相应开源工具实时采集网络连接、进程等信息其中网络连接一般包括最基本的五元组信息(源地址、目标地址、源端口、目标端口、协议号)再加上所属进程信息pid, exe, cmdline)等。其中这两项数据大多...
    99+
    2022-06-04
    linux网络流量统计 linux进程
  • vertica 如何实现存储过程?
    只要多花时间,JAVA 总是可以实现算法的,但高耦合性的缺点却无法避免。存储过程本应独立于 JAVA 代码,修改存储过程本不该影响 JAVA 代码。但 JAVA 开发的存储过程会和其他 JAVA 代码紧密耦合,只要修改存储过程,就必然重新编...
    99+
    2017-10-28
    vertica 如何实现存储过程?
  • Linux内核链表实现过程
    关于双链表实现,一般教科书上定义一个双向链表节点的方法如下: struct list_node{stuct list_node *pre;stuct list_node *next;ElemType dat...
    99+
    2022-06-04
    内核 链表 过程
  • VB.NET如何实现过程重载
    这篇文章主要介绍了VB.NET如何实现过程重载,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。VB.NET过程重载是指使用相同的名称和不同的参数列表在多个版本中定义某个过程。重...
    99+
    2023-06-17
  • C#如何实现存储过程
    这篇文章将为大家详细讲解有关C#如何实现存储过程,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。C#存储过程源代码public static int VerifyUser(cl...
    99+
    2023-06-18
  • Vuerouter动态路由实现过程
    目录实现思路环境介绍实现过程路由数据(demo) vue动态路由(约定路由),听起来好像很玄乎的样子 但是你要是理解了实现思路,你会发现,没有想象中的那么难 在没有亲自实现功能前,永...
    99+
    2023-03-14
    Vue router动态路由 Vue动态路由
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作