【发布时间】:2016-11-03 01:31:08
【问题描述】:
目前我在使用 SAMLAUthenticationProvider 时观察到以下行为。在“authenticate”方法中,有这一行: ExpiringAuthenticationToken result = .... //这里初始化这个对象 结果.setDetails(userDetails); 我在这里面临的问题是,如果我在传入的身份验证对象中设置了一个“详细信息”对象,那么该信息不会传递回我的应用程序。但对于其他身份验证提供程序,例如 abstractldapprovider、abstractuserdetialsauthenticationprovider,情况并非如此。在这些提供程序中,createsuccessfulauthentication() 将附加的“详细信息”信息从父身份验证对象保留/复制到新的身份验证对象。
有没有办法用 SAMLAuthenticationProvider 实现同样的事情。目前我可以看到“覆盖”整个身份验证方法并为所有 saml 处理调用 super.authenticate,只需更改 setDetails 行即可实现此目的。
如果有更好的解决方案,请告诉我。
【问题讨论】:
标签: spring-saml