[英]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.