【问题标题】:Can Spring Security validate the relationship between user?Spring Security 可以验证用户之间的关系吗?
【发布时间】:2011-09-29 18:01:55
【问题描述】:

我是 Spring Security 的新手。 Spring Security 可以验证用户之间的关系吗?

例如:

我有两个用户类型。一个是老师,另一个是学生。 我想验证这个学生是否与特殊老师有关系。 然后学生可以和这个特殊的老师做一些操作。
Spring Security 能否实现这个目标?

请提供一些参考资料、关键字或链接,以便我进行更多研究

谢谢

【问题讨论】:

  • 关系是什么意思? spring security 可以检查一个实体是否与另一个实体相关吗?

标签: spring spring-mvc spring-security


【解决方案1】:

安全问题可分为身份验证或授权问题。您的问题是授权问题。但这不是静态的授权问题,不是因为用户的权限和角色的配置造成的,而是动态的,因为学生和老师有关系才能被授权执行一些特定的动作。您需要注入 spring 安全性,每次满足这种关系时,业务检查都会提供一个肯定的标志。

如果我很好地理解了你的问题,也许你可能需要阅读并理解 Spring Security 中的 AccessDecisionManager 类。

【讨论】:

    【解决方案2】:

    从本质上讲,这听起来不像是 Spring Security 问题——它与数据相关。如果这是存储在数据库中的关系,并且您使用的是 ORM,那么教师和学生之间应该存在OneToMany 关系(反之亦然是ManyToOne)。

    如果您想在 Spring Security 上下文中跟踪有关登录用户(例如,他们的主要教师)的一些附加信息,那么您需要实现 UserDetailsService 并使用您的扩展 Spring Security User 对象附加数据。

    【讨论】:

      猜你喜欢
      • 2017-12-21
      • 2018-10-07
      • 2012-04-14
      • 2013-12-28
      • 1970-01-01
      • 1970-01-01
      • 2016-06-26
      • 1970-01-01
      • 2012-09-04
      相关资源
      最近更新 更多