在SpringSecurity3.0.x中使用SpringSec2.0.x身份验证对象

在SpringSecurity3.0.x中使用SpringSec2.0.x身份验证对象,spring,spring-security,Spring,Spring Security,我用SpringSecurity2.0.4编写了遗留服务,它使用org.springframework.Security.Authentication对象 现在,我正在将其与针对Spring Security 3编写的较新项目集成,并正在实现org.springframework.Security.authentication.AuthenticationProvider,它使用(在authenticate方法中)org.springframework.Security.core.authent

我用SpringSecurity2.0.4编写了遗留服务,它使用
org.springframework.Security.Authentication
对象

现在,我正在将其与针对Spring Security 3编写的较新项目集成,并正在实现
org.springframework.Security.authentication.AuthenticationProvider
,它使用(在authenticate方法中)
org.springframework.Security.core.authentication
,所以我不能将这个对象提供给遗留代码(注意,身份验证对象现在驻留在不同的包中)


我阅读了迁移指南,但没有发现任何关于这个问题的有用信息。有什么办法解决这个问题吗?

到底是什么问题?该行为应该与2.0.xWell几乎相同,我的旧接口不会使用SpringSecurity3身份验证对象。所以我不得不降级到SS2 atm。我使用代理作为远程服务的引用,所以我可以自己执行从SS3.Authentication到SS2.Authentication的转换,但我不能在类路径上同时使用SS2和SS3。所以,也许还有另一种方式……好吧,不清楚你在谈论远程处理。确实,在版本2和版本3之间不能使用基于序列化的远程处理。此外,最近由于序列化而产生的漏洞确实建议使用其他方式(如普通HTTP)实现远程服务。但困扰我的是,两个版本中的身份验证对象几乎完全相同。。。所以根本没有解决方法?您可以将所需的包从添加到3.0.x应用程序中,并添加必要的类。那么你只需要一个适配器。但最终应该困扰您的是,基于序列化的远程处理可能是其他安全漏洞的后门,最好避免。