Worklight Studio v6.2
MySQL社区服务器5.6.21
我为此做了简单的实验。 我在sql适配器中创建了4个过程。
“开始”程序,只调用“BEGIN”;声明。
“commit”过程,只调用“COMMIT”;声明。
“rollback”过程,只调用“ROLLBACK”声明。
“insert”过程,它调用“INSERT”语句,将一行插入表中。
另外,我创建了具有按钮的混合应用程序。每个按钮执行上述步骤。
我通过浏览器打开它进行测试。 我执行“begin - > insert - > commit”和“begin - > insert - > rollback”。两者都很好。
接下来,我从两个浏览器(A / B)打开应用程序。我在下面执行。
1.从浏览器A:开始
2.从浏览器A:插入
3.从浏览器 B :提交
已提交。
数据库无法通过这种方式区分每个请求来自不同用户
任何解决方案?
提前致谢。
答案 0 :(得分:2)
更新:您可以尝试的是:
编辑:这不是正确的选择,因为SQL adapeders不支持connectAs =“endUser”
我 认为 您需要做的是将connectAs="endUser"
属性添加到适配器XML文件中的适配器过程:<procedure name="myProcedure" connectAs="endUser"/>
从您应阅读的以下博文中,connectAs="endUser"
表示:
为了支持有状态的后端HTTP适配器程序可以 配置为在connectAs =“endUser”模式下工作。这种模式意味着 将为每个客户端创建一个单独的HTTP会话实例 会话
博文:Configuring HTTP adapters for stateless/stateful backend connectivity and user identity propagation