[英]How does JAAS load a class implementing LoginModule?
这是通过反射或ServiceLoader完成的吗? 我问,因为我有一个应该使用Spring的自定义LoginModule,但是尽管具有@Autowired
,但相应的bean却没有正确填充(使用在上下文中定义的bean,它显然在类路径中)。 这使我认为LoginModule实现类是使用反射加载的,从而完全规避了Spring。 是这样吗 如果可以,我还能以某种方式使用Spring吗?
要回答我自己的问题:是的,这是使用反射完成的,它有效地绕过Spring,并为您提供了一个实例化的对象,该对象没有任何@Autowired
。
但是,您可以在LoginModule
的initialize()
方法中手动初始化bean。 LoginModule
类应实现org.springframework.context.ApplicationContextAware
并且您必须具有private static ApplicationContext context
。 这样,为您注入了context
,您可以从那里加载bean。
远非最佳,但似乎可以解决问题。 如果有人有更好的解决方案,请分享,因为我很高兴听到!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.