1

我正在努力在我们的 SMP 服务器上配置身份验证,以便我们的 OpenUI5 移动应用程序的用户可以针对我们现有的后端系统进行身份验证。我们能够使用 SMP 3.0.3 使其工作,但不能使用较新的 SMP 3.0.10.11。

要求:

  • 我们的移动应用程序需要允许多个不同的后端用户使用同一设备登录。它使用 HTTP 基本身份验证发送凭据,即 HTTP 请求中的“Authorization:Basic”标头。

  • 后端系统提供具有 HTTP 基本身份验证的 OData 服务。没有会话,即用户在每个请求上都通过请求的 Authorization 标头进行身份验证,并且在响应中不返回会话 cookie 或 SSO cookie。

我们需要在 SMP 上尝试两种不同的配置方法,但均未成功。

使用“无身份验证质询”

在设置中,我们创建了一个名为“No Auth”的安全配置文件,并将“No Authentication Challenge”配置为唯一的身份验证提供程序,并根据需要进行设置。

在应用程序中: * 在“后端”下,我们配置了端点(http://172.18..../),没有勾选“允许匿名访问”,将 Rewrite Mode 设置为“No Rewriting”,并添加了一个“基本”的 SSO 机制。* 在“身份验证”下,我们选择了“无身份验证”配置文件并取消选中“检查模拟”。

我们打开应用程序并成功注册,无需提供用户名或密码。注册反映为用户名“nosec_identity”。

然后,我们尝试使用后端系统的有效用户名 (admin) 和密码登录应用程序。应用程序对 SMP 服务器进行服务调用,包括在基本身份验证标头中的这些凭据(授权:基本 YW......=)。

到目前为止一切顺利,但是 SMP 服务器返回了 403 Forbidden 错误,而没有将请求发送到后端系统。SMP 调试日志给出的原因是“没有为 not allowAnonymousAccess 端点找到匹配的 SSO 凭据”。我不知道为什么它不能使用为端点配置的“基本”SSO:

#2.0#2017-07-18 11:49:52 AM#WARNING#RequestResponse#403##Proxy#1500371392748018#1b6118d6-40ea-49bf-90f8-6358de7a70c4#com.j5.app#com.sap.mobile.platform。 server.proxy.core.handler.DirectProxy:handleException#nosec_identity#######2257#####Exception 在尝试设置匿名访问凭据时捕获#

...

#2.0#2017-07-18 11:49:52 AM#FATAL#Proxy####1500371392748000#1b6118d6-40ea-49bf-90f8-6358de7a70c4#com.j5.app#DirectProxy:fireRequest#nosec_identity##### ##2257#####Forbidden 未找到与 not allowAnonymousAccess 端点 [com.j5.app] 匹配的 SSO 凭据。: {"endPoint":"http.../odataservice/inspection_rounds/$metadata?0.6973737435488696","re​​questURL":"http:...:8080/com.j5.app/odataservice/inspection_rounds/$metadata"," miscInfo":"代理请求响应","source":"SMP 服务器:代理","version":"1.0","re​​sponseCode":"403"}#

使用“HTTP/HTTPS 身份验证”

在设置中,我们创建了一个名为“HTTP HTTPS”的安全配置文件,并将“HTTP/HTTPS 身份验证”配置为唯一的身份验证提供程序,并将其设置为可选。我们还在后端将其 URL 设置为执行基本身份验证的有效 URL,并且没有在设置中设置任何其他字段。

在应用程序中: * 在“后端”下,我们配置了端点 URL,选中了“允许匿名访问”(这样我们就可以在不为特定用户提供凭据的情况下进行注册),将重写模式设置为“不重写”,并添加了一个“基本”的 SSO 机制。* 在“身份验证”下,我们选择了“HTTP HTTPS”配置文件并取消选中“检查模拟”。

我们打开应用程序并成功注册,无需提供用户名或密码。此注册反映为用户名“匿名”。尽管注册成功,但 SMP 日志包含用户名“NA”的以下警告:

#2.0#2017-07-17 04:43:59 PM#WARNING#ApplicationSettings###Security#1500302639903001#9a43b81d08684a42895450ba54dc812d#com.j5.app#com.sybase.security.http.HttpAuthenticationLoginModule:login###### ##708#####匿名身份验证不受支持。#

#2.0#2017-07-17 04:43:59 PM#WARNING#Registration###Security#1500302639669001#9a43b81d08684a42895450ba54dc812d#com.j5.app#com.sybase.security.http.HttpAuthenticationLoginModule:login###### ##730#####匿名身份验证不受支持。#

然后,我们尝试使用后端系统的有效用户名 (admin) 和密码登录应用程序。应用程序对 SMP 服务器进行服务调用,将这些凭据包含在基本身份验证标头中。

同样,SMP 服务器返回 403 Forbidden 错误,而不将请求发送到后端服务器。

对于用户名“NA”,SMP 日志包含以下警告:

#2.0#2017-07-17 04:45:58 PM#ERROR#RequestResponse###Foundation#1500302758402001#92cd519b-39aa-4bce-a4e8-84cf1fc12364#com.j5.app#com.sap.mobile.platform.server .foundation.security.filter.AuthenticationFilter:doFilter########713#####应用程序连接的注册用户anonymous与登录用户admin不匹配#

因此,如果我们匿名注册,应用程序似乎无法在登录时提供用户名。

任何帮助,将不胜感激。

4

0 回答 0