Spring Security 自定义资源访问权限过滤器Fliter ,参考FilterSecurityInteceptor
来源:互联网 发布:app开发团队编程人数 编辑:程序博客网 时间:2024/05/22 17:12
尽管spring security提供了许多filter(参考《spring security 标准Filter及其在filter chain的顺序》)处理不同事情,但在web应用的安全防护上核心filter有如下图所示四个核心的filter,而FilterSecurityInterceptor负责处理HTTP资源的安全性。整个过程需要依赖AuthenticationManager、AccessDecisionManager和FilterInvocationSecurityMetadataSource。
AuthenticationManager:认证管理器,实现用户认证的入口
AccessDecisionManager:访问决策器,决定某个用户具有的角色,是否有足够的权限去访问某个资源
FilterInvocationSecurityMetadataSource:资源源数据定义,即定义某一资源可以被哪些角色访问
他们的关系在spring security配置文件中的配置方式如下代码所示。
通过源码分析我们知道这三个类都是FilterSecurityInterceptor的属性,而且三个都是定义的接口。当然FilterInvocationSecurityMetadataSource之外另外两个属性在其父类AbstractSecurityInterceptor中。
上面配置方式中属性securityMetadataSource是使用<security:filter-security-metadata-source> Namespace特性来进行的实现,它的弊端是资源和角色的关系固化在配置文件中,而要实现在数据库中灵活配置目的,我们需要自己实现一个FilterInvocationSecurityMetadataSource实现类。从中获取资源角色关系即可。
尽管spring security提供了许多filter(参考《spring security 标准Filter及其在filter chain的顺序》)处理不同事情,但在web应用的安全防护上核心filter有如下图所示四个核心的filter,而FilterSecurityInterceptor负责处理HTTP资源的安全性。整个过程需要依赖AuthenticationManager、AccessDecisionManager和FilterInvocationSecurityMetadataSource。
AuthenticationManager:认证管理器,实现用户认证的入口
AccessDecisionManager:访问决策器,决定某个用户具有的角色,是否有足够的权限去访问某个资源
FilterInvocationSecurityMetadataSource:资源源数据定义,即定义某一资源可以被哪些角色访问
他们的关系在spring security配置文件中的配置方式如下代码所示。
通过源码分析我们知道这三个类都是FilterSecurityInterceptor的属性,而且三个都是定义的接口。当然FilterInvocationSecurityMetadataSource之外另外两个属性在其父类AbstractSecurityInterceptor中。
上面配置方式中属性securityMetadataSource是使用<security:filter-security-metadata-source> Namespace特性来进行的实现,它的弊端是资源和角色的关系固化在配置文件中,而要实现在数据库中灵活配置目的,我们需要自己实现一个FilterInvocationSecurityMetadataSource实现类。从中获取资源角色关系即可。
尽管spring security提供了许多filter(参考《spring security 标准Filter及其在filter chain的顺序》)处理不同事情,但在web应用的安全防护上核心filter有如下图所示四个核心的filter,而FilterSecurityInterceptor负责处理HTTP资源的安全性。整个过程需要依赖AuthenticationManager、AccessDecisionManager和FilterInvocationSecurityMetadataSource。
AuthenticationManager:认证管理器,实现用户认证的入口
AccessDecisionManager:访问决策器,决定某个用户具有的角色,是否有足够的权限去访问某个资源
FilterInvocationSecurityMetadataSource:资源源数据定义,即定义某一资源可以被哪些角色访问
他们的关系在spring security配置文件中的配置方式如下代码所示。
通过源码分析我们知道这三个类都是FilterSecurityInterceptor的属性,而且三个都是定义的接口。当然FilterInvocationSecurityMetadataSource之外另外两个属性在其父类AbstractSecurityInterceptor中。
上面配置方式中属性securityMetadataSource是使用<security:filter-security-metadata-source> Namespace特性来进行的实现,它的弊端是资源和角色的关系固化在配置文件中,而要实现在数据库中灵活配置目的,我们需要自己实现一个FilterInvocationSecurityMetadataSource实现类。从中获取资源角色关系即可。
尽管spring security提供了许多filter(参考《spring security 标准Filter及其在filter chain的顺序》)处理不同事情,但在web应用的安全防护上核心filter有如下图所示四个核心的filter,而FilterSecurityInterceptor负责处理HTTP资源的安全性。整个过程需要依赖AuthenticationManager、AccessDecisionManager和FilterInvocationSecurityMetadataSource。
AuthenticationManager:认证管理器,实现用户认证的入口
AccessDecisionManager:访问决策器,决定某个用户具有的角色,是否有足够的权限去访问某个资源
FilterInvocationSecurityMetadataSource:资源源数据定义,即定义某一资源可以被哪些角色访问
他们的关系在spring security配置文件中的配置方式如下代码所示。
通过源码分析我们知道这三个类都是FilterSecurityInterceptor的属性,而且三个都是定义的接口。当然FilterInvocationSecurityMetadataSource之外另外两个属性在其父类AbstractSecurityInterceptor中。
上面配置方式中属性securityMetadataSource是使用<security:filter-security-metadata-source> Namespace特性来进行的实现,它的弊端是资源和角色的关系固化在配置文件中,而要实现在数据库中灵活配置目的,我们需要自己实现一个FilterInvocationSecurityMetadataSource实现类。从中获取资源角色关系即可。
0 0
- Spring Security 自定义资源访问权限过滤器Fliter ,参考FilterSecurityInteceptor
- Spring Security参考资源
- 自定义Spring Security过滤器
- spring security自定义过滤器
- Spring security 用户,角色,权限,资源
- spring security 采用角色控制访问权限
- spring security 自定义登录 权限 数据库
- 自定义security过滤器顺序
- spring security过滤器
- spring security FilterSecurityInterceptor过滤器
- spring security UsernamePasswordAuthenticationFilter过滤器
- 使用过滤器Check静态资源的访问权限
- spring security 3 中使用自定义数据库来设置权限
- spring security 3 中使用自定义数据库来设置权限
- spring security 3 中使用自定义数据库来设置权限
- spring security 3 简单例子(自定义权限)
- java自定义标签(改造spring security配合控制按钮权限)
- Spring Security系列四 自定义决策管理器(动态权限码)
- MVC模式 Ajax 报错Error(parsererror)
- Prometheus 实战于源码分析之API与联邦
- JavaWeb 入门级项目实战 -- 文章发布系统 (第八节)
- 全局变量、局部变量、静态全局变量、静态局部变量的区别——百度笔试一个知识点
- 并发和并行的区别
- Spring Security 自定义资源访问权限过滤器Fliter ,参考FilterSecurityInteceptor
- 有了这些java面试题目和答案,你还有什么过不去的梗
- JDK8 源码包 外加注释
- 程序员必读书单
- php邮箱验证 对应jqueryvalidation验证 email表单验证(2017-04-28 11:27)
- Eclipse的设置、调优、使用(解决启动卡顿等问题)
- 【Weex】 理性思考
- 线程池原理详解
- 缓存相关操作