栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

@RolesAllowed与@PreAuthorize与@Secured

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

@RolesAllowed与@PreAuthorize与@Secured

安全注释

所有的

@PreAuthorize
@RolesAllowed
@Secured
有注释,允许配置 方法的安全性
。它们既可以应用于单个方法,也可以应用于类级别,在后一种情况下,安全性约束将应用于类中的所有方法。

使用Spring
AOP代理
可以实现方法级的安全性。

@PreAuthorize

@PreAuthorize
注解允许使用 Spring expression Language(SpEL)
指定对方法的访问约束。这些约束是在执行方法之前进行评估的,如果约束不满足,可能会导致方法的执行被拒绝。该
@PreAuthorize
注释是Spring安全框架的一部分。

为了能够使用

@PreAuthorize
,注释中的
prePostEnabled
属性
@EnableGlobalMethodSecurity
需要设置为
true

@EnableGlobalMethodSecurity(prePostEnabled=true)

@RolesAllowed

@RolesAllowed
注解起源于JSR-250
Java安全标准。此注释比注释 更受限制
@PreAuthorize
因为它 仅支持基于角色的安全性

为了使用

@RolesAllowed
注释,包含该注释的库必须在类路径中,因为它不是Spring Security的一部分。另外,注释的
jsr250Enabled
属性
@EnableGlobalMethodSecurity
需要设置为
true

@EnableGlobalMethodSecurity(jsr250Enabled=true)

@Secured

@Secured
注解是 旧版Spring Security 2注解
,可用于配置方法安全性。它不仅支持基于角色的安全性,而且不支持使用Spring expression
Language(SpEL)指定安全性约束。建议
@PreAuthorize
在新应用程序中使用该注释之上的注释。

为支持

@Secured
需要在明确启用注释
@EnableGlobalMethodSecurity
使用注释
securedEnabled

属性:

@EnableGlobalMethodSecurity(securedEnabled=true)

哪些安全注释允许使用SpEL

下表显示了可与Spring Security 5一起使用的安全注释中对Spring expression Language的支持:

╔═════════════════════╦═══════════════════╗║ Security Annotation ║ Has SpEL Support? ║╠═════════════════════╬═══════════════════╣║  @PreAuthorize      ║        yes        ║╠═════════════════════╬═══════════════════╣║  @PostAuthorize     ║        yes        ║╠═════════════════════╬═══════════════════╣║  @PreFilter         ║        yes        ║╠═════════════════════╬═══════════════════╣║  @PostFilter        ║        yes        ║╠═════════════════════╬═══════════════════╣║  @Secured║        no         ║╠═════════════════════╬═══════════════════╣║  @RolesAllowed      ║        no         ║╚═════════════════════╩═══════════════════╝


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/635671.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号