创建自定义方法安全性表达式的最佳方法

吉皮亚尼

我正在尝试创建自己的方法安全性表达式,我想在@PreFilter@PostFilter批注中使用它

在搜索教程和类似问题时,我发现了两种继续进行的方法。

首先是扩展DefaultMethodSecurityExpressionHandler和覆盖createSecurityExpressionRoot,以便给出定制的SecurityExpressionRoot

@PreAuthorize('isOwner(#someEntity)') 

第二种方法是简单地使用@Component类,并在@Pre/ @Postfilter中使用以下方法访问其方法@bean.method()

@PreAuthorize("@mySecurityService.isOwner('#someEntityl')")

我的问题是:哪种方法更好?如果两者都可以,为什么还要选择另一种呢?

谢谢马可

马克西姆·德米达斯(Maksym Demidas)

@PreAuthorize('isOwner(#someEntity)')路途优势@bean.method()

  • 但从维修点:当你改变像一些方法的签名CustomSecurityExpressionRoot.isOwner()那么很显然你(甚至一些新的开发人员,熟悉的Spring Security),您需要检查所有@Pre/@Post注解。如果你对所有JUnit测试这种优势不是那么重要@Pre/@Post例。
  • 简短的语法(例如,您可以尝试使用一些简短的别名来改进@bean.method()方法@sec.isOwner()
  • 随着SecurityExpressionRoot你自动访问authenticationtrustResolverrolespermissionEvaluatorojects。它并不是那么重要,因为您也可以轻松地将它们放入自定义bean中。

@bean.method()路途优势@PreAuthorize('isOwner(#someEntity)')

  • 设置简单

我喜欢你的@bean.method()方式 恕我直言,所有差异都不那么重要(对于我之前的项目)。但是我非常喜欢“简易设置”选项!因此,对于下一个项目,我会尝试你@bean.method()与JUnit测试所有一起选择方式@Pre/@Post例。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

创建自定义事件日志(安全性错误)

来自分类Dev

在Spring Security中使用自定义方法安全性注释

来自分类Dev

创建自定义查找的最佳方法

来自分类Dev

为什么表达式树无法识别我的自定义方法?

来自分类Dev

重写表达式以替换List。包含自定义方法

来自分类Dev

为什么表达式树无法识别我的自定义方法?

来自分类Dev

LinqToSQL:使用自定义方法来计算表达式

来自分类Dev

如何在自定义@PreAuthorize表达式方法中放弃投票过程?

来自分类Dev

构建接受表达式列表的自定义 SUM 函数的更好方法

来自分类Dev

创建永不匹配的mongo表达式的最佳方法

来自分类Dev

UDF与自定义表达式

来自分类Dev

UDF与自定义表达式

来自分类Dev

Blazor安全性-Razor Pages自定义身份验证/安全性

来自分类Dev

自定义用户HTML输入的安全性

来自分类Dev

自定义用户HTML输入的安全性

来自分类Dev

如何设置自定义 Firebase 安全性?

来自分类Dev

创建自定义android按钮的最佳方法

来自分类Dev

jOOQ查询表达式类型安全,无需自定义转换器

来自分类Dev

学习Java AZ安全性的最佳方法是什么

来自分类Dev

解析货币字符串安全性的最佳方法?

来自分类Dev

如何将 java lambda 表达式用于我自定义的可运行方法

来自分类Dev

如何创建自定义电话号码正则表达式

来自分类Dev

如何为我的linq查询创建自定义存储表达式

来自分类Dev

如何通过评估表达式来创建自定义HTML ID

来自分类Dev

Spring Boot /安全性-在嵌入式Tomcat上运行时无法自定义安全性

来自分类Dev

Spring Boot /安全性-在嵌入式Tomcat上运行时无法自定义安全性

来自分类Dev

编写自定义异常的最佳方法

来自分类Dev

自定义动作栏的最佳方法

来自分类Dev

编写自定义异常的最佳方法

Related 相关文章

  1. 1

    创建自定义事件日志(安全性错误)

  2. 2

    在Spring Security中使用自定义方法安全性注释

  3. 3

    创建自定义查找的最佳方法

  4. 4

    为什么表达式树无法识别我的自定义方法?

  5. 5

    重写表达式以替换List。包含自定义方法

  6. 6

    为什么表达式树无法识别我的自定义方法?

  7. 7

    LinqToSQL:使用自定义方法来计算表达式

  8. 8

    如何在自定义@PreAuthorize表达式方法中放弃投票过程?

  9. 9

    构建接受表达式列表的自定义 SUM 函数的更好方法

  10. 10

    创建永不匹配的mongo表达式的最佳方法

  11. 11

    UDF与自定义表达式

  12. 12

    UDF与自定义表达式

  13. 13

    Blazor安全性-Razor Pages自定义身份验证/安全性

  14. 14

    自定义用户HTML输入的安全性

  15. 15

    自定义用户HTML输入的安全性

  16. 16

    如何设置自定义 Firebase 安全性?

  17. 17

    创建自定义android按钮的最佳方法

  18. 18

    jOOQ查询表达式类型安全,无需自定义转换器

  19. 19

    学习Java AZ安全性的最佳方法是什么

  20. 20

    解析货币字符串安全性的最佳方法?

  21. 21

    如何将 java lambda 表达式用于我自定义的可运行方法

  22. 22

    如何创建自定义电话号码正则表达式

  23. 23

    如何为我的linq查询创建自定义存储表达式

  24. 24

    如何通过评估表达式来创建自定义HTML ID

  25. 25

    Spring Boot /安全性-在嵌入式Tomcat上运行时无法自定义安全性

  26. 26

    Spring Boot /安全性-在嵌入式Tomcat上运行时无法自定义安全性

  27. 27

    编写自定义异常的最佳方法

  28. 28

    自定义动作栏的最佳方法

  29. 29

    编写自定义异常的最佳方法

热门标签

归档