我的SAP Portal上有一个SAPUI5应用程序。 我需要在我的应用程序SAPUI5上获得SAP Portal用户登录。 我该怎么办?
答案 0 :(得分:1)
` var oUserData;
var y = "/sap/bc/ui2/start_up";
var xmlHttp = null;
xmlHttp = new XMLHttpRequest();
xmlHttp.onreadystatechange = function() {
if (xmlHttp.readyState == 4 && xmlHttp.status == 200) {
oUserData = JSON.parse(xmlHttp.responseText);
}
};
xmlHttp.open("GET", y, false);
xmlHttp.send(null);`
console oUserData获取登录用户的登录详细信息。
答案 1 :(得分:1)
尝试使用SAPUI5用户API,详见此处:https://blogs.sap.com/2015/04/16/using-the-hcp-user-api-in-web-ide/ - 我不推荐使用xmlhttprequest方法。
步骤如下: - 在neo-app.json中添加到现有路线的路线:
"routes": [
......
{
"path":"/services/userapi",
"target":{
"type":"service",
"name":"userapi"
}
}
]
然后创建并设置一个JSONModel来调用/存储服务的结果(通常我将它设置为Component.js init方法中的Component):
var userModel = new sap.ui.model.json.JSONModel("/services/userapi/currentUser");
this.setModel(userModel, "user");
模型加载后,您将在" user"中添加以下字段。模型:
在视图中使用它的示例如下所示:
<Text text="{user>/name}"/>
或者在运行时在控制器中获取它:
var userName = this.getModel("user").getProperty("/name");
获取JSONModel实例化字符串所在的用户属性还有另一种变体:"/services/userapi/attributes?multiValuesAsArrays=true"