我有一个要求,我需要使用基于角色的服务方法访问。我有宁静的服务,我使用spring-data与MongoDB进行交互。
我有一些限制。我在DB中处理一个名为“Organization”的文档。在每个组织中,我都知道谁是管理员。我没有可以访问服务的用户存储库。
因此,我可以执行某些基于访问权限的规则的唯一方法是检查登录用户是否为每个组织配置的管理员之一,然后允许用户访问这些方法。
我是否应该考虑在这种情况下应用Spring安全性?否则将对数据库文档中的已配置管理员进行简单的检查帮助?我是否可以在一个点上进行此检查,以便我可以根据用例需要将其应用于服务方法。
请提供您对如何解决此问题的建议/想法。
答案 0 :(得分:0)
如果您使用Spring Security,则其余方法可以利用传入的经过身份验证的Principal对象(例如here),您可以执行任何额外的验证(例如检查管理员是否对给定的内容有效)组织请求等。)还有many other个参数,可能允许这个组织检查一次完成并存储在会话对象中。