点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)大家好, 我正在尝试创...
点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)大家好, 我正在尝试创...
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
大家好,
我正在尝试创建一个HTML5应用程序,该应用程序在重新加载页面后将保持登录到ServiceLayer会话中。
如果我使用邮递员登录服务层,则会得到以下标题详细信息:
连接→保持活动 内容编码→gzip 内容长度→174 内容类型→application/json; odata =最小元数据; charset = utf-8 DataServiceVersion→3.0 日期→2018年8月16日,星期四06:10:06 GMT 保持活动→超时= 15,最大= 100 服务器→Apache Set-Cookie→B1SESSION = 0669e842-a11b-11e8-8000-000c29594cad; HttpOnly; Set-Cookie→HASH_B1SESSION = 4548D83BAFE012C7E2BA5E30A504D30B19CEC467; HttpOnly 变化→接受编码
我尝试访问JS应用程序内部的Set-Cookie无济于事。
我在JS应用程序中的登录如下:
$ .ajax({ 网址:serviceLayerLoginURL, xhrFields:{ withCredentials:正确 }, 数据:jData = JSON.stringify({ 用户名:用户, 密码:pass, CompanyDB:comp }), 输入:" POST", dataType:" json", 成功:功能(r,状态,xhr){ app.SessionId = r.SessionId; app.to(" tilesPage"); sap.ui.core.BusyIndicator.hide(); }, 错误:this.onErrorCall });
现在我的问题是:如何访问正确的信息,以及如何使用它们在没有用户名,密码和可选的CompanyDB的情况下登录?
Manuel,
可能是我误解了您,但它已经按照您的描述进行了。 唯一的区别是您需要使用B1SESSION和ROUTEID cookie,而不是凭据。
因此,当用户刷新页面时,您仍然可以使用相同的cookie来执行您的操作。 该cookie有效,直到您使用相同的B1SESSIONID发布到注销资源。
实际上,我什至不确定您是否需要照顾cookie。 如果是网络解决方案,则浏览器将为您做所有事情(当然,如果未关闭Cookie)。 您无需从响应中获取sessionID(此行app.SessionId = r.SessionId;)。 据我了解,这仅供参考。 服务器返回cookie,浏览器将其存储并添加到您的其他请求中。
因此,即使关闭并重新打开浏览器,这两个测试功能也对我来说很好:
因此,如果我调用LoginClick(),请关闭浏览器,将其重新打开,然后调用CallClick(),它将正常工作。 如果我从SL URL中清除了cookie,我将被重定向到标准的Chrome登录表单。
一周热门 更多>