我的java应用程序和ADFS 2.0之间有一个saml sso连接。连接工作正常但我有一些难以在我的Java servlet中获得断言用户属性,如电子邮件。
我的SAML响应中的断言部分:
我试过类似的东西,但它返回一个空值。基于此链接中的主题:https://help.sap.com/viewer/65de2977205c403bbc107264b8eccf4b/Cloud/en-US/9e2e0d7e91cc44e79901a756bf7b2d88.html
import com.sap.security.um.user.PersistenceException;
import com.sap.security.um.user.UnsupportedUserAttributeException;
import com.sap.security.um.user.User;
import com.sap.security.um.user.UserProvider;
import com.sap.security.um.service.UserManagementAccessor;
@Resource
private UserProvider userProvider;
User user = null;
String email = "";
try {
// Read the currently logged in user from the user storage
user = userProvider.getUser(request.getRemoteUser());
email = "Email: " + user.getAttribute("email");
} catch (UnsupportedUserAttributeException | PersistenceException e) {
e.printStackTrace();
}
预先感谢您的帮助。
我的问题解决了。这是一个特定的配置问题。解决方案是可访问here谢谢代码。