SAPUI5应用程序 - 会话

时间:2017-03-28 17:59:10

标签: session sapui5

我的SAP Portal上有一个SAPUI5应用程序。 我需要在我的应用程序SAPUI5上获得SAP Portal用户登录。  我该怎么办?

2 个答案:

答案 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"中添加以下字段。模型:

  • 名称
  • 的firstName
  • lastName的
  • 的displayName
  • 电子邮件

在视图中使用它的示例如下所示:

<Text text="{user>/name}"/>

或者在运行时在控制器中获取它:

var userName = this.getModel("user").getProperty("/name");

获取JSONModel实例化字符串所在的用户属性还有另一种变体:"/services/userapi/attributes?multiValuesAsArrays=true"