0

我的 java 应用程序和 ADFS 2.0 之间有一个 saml sso 连接。连接运行良好,但我很难在我的 Java servlet 中获取断言用户属性,如电子邮件。

我的 SAML RESPONSE 的断言部分:

在此处输入图像描述

我尝试了类似的方法,但它返回一个空值。基于此链接中的主题: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();
}

预先感谢您的帮助。

4

1 回答 1

0

我的问题解决了。这是一个特定的配置问题。该解决方案可在此处访问 感谢 codebrane。

于 2018-01-29T13:51:54.517 回答