如何限制DI使用子类

时间:2017-05-15 20:28:43

标签: java spring

我们有一种情况,我们有一个基本安全模型,然后是扩展安全模型。我们打算将内部用户的基础模型和公共交互的扩展模型使用。显然,扩展模型需要额外的安全检查。因此,扩展安全性类扩展了基本安全性类。

这会在Play Framework 2.5中产生Spring依赖注入(4.3.5)的问题。如果已经实例化了Extended类,那么DI会注入" Extended"即使我们的代码指定Base类,如下所示:@ Security.Authenticated(BaseAuthenticator.class)。另一方面,如果Extended类不可用,则DI注入BaseAuthenticator类。因此,我们得到了一个不确定的结果。

我们希望实现的目标是: 1)@ Security.Authenticated(BaseAuthenticator.class)==>应始终使用BaseAuthenticator 2)@ Security.Authenticated(ExtendedAuthenticator.class)==>应始终使用ExtendedAuthenticator

想知道,如果这是正确的行为?

有没有办法将它硬连接到特定的" class,而不是子类?

0 个答案:

没有答案