【问题标题】:Why does my HANA XS browser session not timeout on inactivity?为什么我的 HANA XS 浏览器会话在不活动时不会超时?
【发布时间】:2014-07-08 03:54:04
【问题描述】:

我有一个由 HANA 提供的 XSJS 页面。当我尝试从浏览器访问它时,我需要通过一个基本的身份验证机制,这很好。

到目前为止一切顺利。但是如何配置 HANA XSEngine 以便在我长时间未使用它后它会超时我的 Web 会话?我已将 xsengine -> httpserver -> sessiontimeout 参数配置为 30(我告诉它以秒为单位),但这无济于事。只要浏览器保持打开状态,会话就会保持活动状态。

我有一个技巧是关闭浏览器。另一个技巧是删除浏览器历史记录中的活动登录会话。两者都强迫我重新登录,非常好。但是这些太蹩脚了,因为它们依赖于用户操作。我相信 SAP HANA 比这更明智。

非常感谢您的帮助。有不同的参数要设置吗?我在 SP07 上。我将 xsengine 作为一个单独的进程运行。

非常感谢。

【问题讨论】:

    标签: hana hana-xs


    【解决方案1】:

    首先,您根本不应该使用基本身份验证。 Here are some 相关资源。

    您应该考虑使用其他登录方法。我假设您正在尝试将自己验证为 HANA 用户。为此,您可以使用基于Form 的超级简单的身份验证。要使用它,您只需在包根目录的 .xsaccess 文件中包含以下内容:

    {
        "authentication":[
            {
                "method":"Form"
            }
        ]
    }
    

    这会将您引导到 HANA 附带的登录页面,您可以在其中登录。成功登录后,它会将您重定向回您的应用程序。

    所以流程是这样的:

    • 您访问/some/app/index.html,您需要通过HANA进行身份验证。
    • 您将被重定向到 /sap/hana/xs/formLogin/login.html,您将以 HANA 用户身份登录
    • 您将被重定向回/some/app/index.html,现在已以您登录的用户身份进行身份验证。

    当您使用这样的东西时,会保持适当的会话。此时,您的xsengine > httpserver > sessiontimeout 设置将生效。

    您可以在this SAP Hana 开发人员指南部分找到更多相关信息。

    希望这会有所帮助。请避免使用基本身份验证。

    【讨论】:

    • 感谢 Shrayas。好点重新形成。是的,我们先用form-b​​ased,然后再降低level,希望能找到线索。如果我在浏览器地址栏中输入 xsjs url,它会在 N 秒后强制重新登录。但是,如果我有一个加载了登录名的 web 应用程序,并且该应用程序进行了 ajax 调用 - 对相同的 xsjs url - 那么就没有重新登录的调用。由于我的是SPA,所以我被卡住了。有什么提示吗?
    • 无法为每个 xs 应用程序设置 http 会话超时,这让我难以置信。怎么可能?!
    猜你喜欢
    • 2018-09-19
    • 2011-05-07
    • 2012-01-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多