将AOP与Spring Security ACL结合使用

皮埃尔

我对Spring Security框架特别是ACL还是很陌生。经过几个小时的阅读,我认为我掌握了开始保护我的应用程序所需的大部分工作。

但是,有些事情困扰我:虽然很容易找到有关如何读取ACL权限的用法说明(例如,通过@PreAuthorize),但是当您要创建和保留它们时,它会变得混乱。

Spring Security手册告诉我们他们不想打扰任何标准,但是我们鼓励使用AOP。这里的许多教程和答案都直接在其业务代码中使用AclService,从而破坏了流程中的“关注点分离”原则。

所以我该怎么做 ?优点是什么?我是否应该尝试在自定义批注中定义切入点,以创建/删除ACL条目?还是我应该用ACL问题“污染”我的代码?

皮埃尔

好了,经过一周的工作,我现在对这些事情如何工作有了更好的了解。

首先,应该尝试在每个服务层方法内部直接使用AclService来使用ACL的简单,幼稚的方式。建立抽象有很多帮助(基本上是@Service bean中的grantAccess(username,object,Permission ...)方法)。

一旦所有内容都通过ACL编写和@ PreAuthorize / @ PostAuthorize / @ Secured el测试得到安全保护,您就可以开始考虑AOP从所有安全问题中清除代码。您可以使用ACL写入来组成服务方法列表,并向其中添加建议,以便在一个中央位置处理所有安全性。

即使在具有现有用户的现有项目上,Spring Security ACL也非常易于设置和理解(您必须构建迁移脚本)。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将Spring Security ACL与Spring Data REST结合使用

来自分类Dev

使用Spring Security ACL

来自分类Dev

使用Spring Security ACL授予对现有对象身份的权限

来自分类Dev

Spring Security插入ACL:ConcurrentModificationException

来自分类Dev

Spring Security插入ACL:ConcurrentModificationException

来自分类Dev

如何将Spring DelegatingFilterProxy与多个过滤器和Spring Security结合使用?

来自分类Dev

结合使用Spring Security AUTHORIZATION承载和CXF

来自分类Dev

将LDAP和DB身份验证与Spring Security结合使用

来自分类Dev

Spring Security和AOP问题

来自分类Dev

Spring Security和AOP问题

来自分类Dev

在Spring Security Acl中授予权限

来自分类Dev

Spring Security AccessDecisionManager:roleVoter,Acl选民

来自分类Dev

Spring Security ACL管理权限

来自分类Dev

使用Spring Security的PasswordEncoder

来自分类Dev

将Azure AD高级自定义角色与Spring Security结合使用以进行基于角色的访问

来自分类Dev

Spring Security ACL:我无法更新 ACL (SQLIntegrityConstraintViolationException)

来自分类Dev

使用Netbeans IDE将Spring Security集成到Grails中

来自分类Dev

将Spring Security与Oracle&Grails一起使用

来自分类Dev

使用Spring Security登出SiteMinder

来自分类Dev

使用SAML 1.1的Spring Security

来自分类Dev

何时使用Spring Security的antMatcher()?

来自分类Dev

Spring Security值得使用什么?

来自分类Dev

使用Spring Security登出SiteMinder

来自分类Dev

使用Spring Security的Active Directory

来自分类Dev

使用Amazon登录的Spring Security

来自分类Dev

Spring Security-ACL readAclsById未按SID过滤

来自分类Dev

Spring Security:不使用bean的自定义登录,仅将spring安全配置用作j_spring_security_check

来自分类Dev

在控制器中使用@security批注的Spring Security

来自分类Dev

无法在Spring Security中使用@Secured Method Security批注

Related 相关文章

  1. 1

    将Spring Security ACL与Spring Data REST结合使用

  2. 2

    使用Spring Security ACL

  3. 3

    使用Spring Security ACL授予对现有对象身份的权限

  4. 4

    Spring Security插入ACL:ConcurrentModificationException

  5. 5

    Spring Security插入ACL:ConcurrentModificationException

  6. 6

    如何将Spring DelegatingFilterProxy与多个过滤器和Spring Security结合使用?

  7. 7

    结合使用Spring Security AUTHORIZATION承载和CXF

  8. 8

    将LDAP和DB身份验证与Spring Security结合使用

  9. 9

    Spring Security和AOP问题

  10. 10

    Spring Security和AOP问题

  11. 11

    在Spring Security Acl中授予权限

  12. 12

    Spring Security AccessDecisionManager:roleVoter,Acl选民

  13. 13

    Spring Security ACL管理权限

  14. 14

    使用Spring Security的PasswordEncoder

  15. 15

    将Azure AD高级自定义角色与Spring Security结合使用以进行基于角色的访问

  16. 16

    Spring Security ACL:我无法更新 ACL (SQLIntegrityConstraintViolationException)

  17. 17

    使用Netbeans IDE将Spring Security集成到Grails中

  18. 18

    将Spring Security与Oracle&Grails一起使用

  19. 19

    使用Spring Security登出SiteMinder

  20. 20

    使用SAML 1.1的Spring Security

  21. 21

    何时使用Spring Security的antMatcher()?

  22. 22

    Spring Security值得使用什么?

  23. 23

    使用Spring Security登出SiteMinder

  24. 24

    使用Spring Security的Active Directory

  25. 25

    使用Amazon登录的Spring Security

  26. 26

    Spring Security-ACL readAclsById未按SID过滤

  27. 27

    Spring Security:不使用bean的自定义登录,仅将spring安全配置用作j_spring_security_check

  28. 28

    在控制器中使用@security批注的Spring Security

  29. 29

    无法在Spring Security中使用@Secured Method Security批注

热门标签

归档