SAMLAuthenticationProvider不维护Authentication对象中收到的“详细信息”信息

时间:2016-11-03 01:31:09

标签: spring-saml

目前,我在使用SAMLAUthenticationProvider时会观察到以下行为。在“authenticate”方法中,有这一行:         ExpiringAuthenticationToken result = .... //在此处初始化此对象         result.setDetails(为userDetails); 我在这里面临的问题是,如果我在传入的Authentication对象中设置了“details”对象,那么该信息不会传递回我的应用程序。但是其他身份验证提供程序(例如abstractldapprovider,abstractuserdetialsauthenticationprovider)的情况并非如此。在这些提供程序中,createsuccessfulauthentication()会将其他“详细信息”信息从父身份验证对象保留/复制到新的身份验证对象。

是否有办法通过SAMLAuthenticationProvider实现相同的功能。目前,我可以看到“覆盖”整个身份验证方法并为所有saml处理调用super.authenticate,只需更改setDetails行即可实现此目的。

如果有更好的解决方案,请告诉我。

1 个答案:

答案 0 :(得分:0)

每个身份提供商都有自己的规则来传递经过身份验证的用户的详细信息。

例如,在SSOCircle中,必须在添加新的服务提供者时设置属性。转到“管理元数据”,然后单击“添加新服务提供商”,并检查要包含在它发回的断言中的属性。 enter image description here