【发布时间】:2015-03-06 20:29:15
【问题描述】:
我有一个内部网站,我试图在其中使用来自 iSeries 服务器的一些现有 RPG/CL 代码。我想偶尔代表登录用户运行 iSeries 作业。然而,与我正在使用的 iSeries 的连接是在一个用户名下运行的,例如“appuser”,专门为应用程序(具有 ODBC 只读访问权限)通过 SQL 连接设置。我遇到的问题是 iSeries 上发生的大部分安全/日志记录使用作业用户在各处标记记录,并且该用户是应用程序的名称,而不是登录到它的用户。
我可以使用 qsys2.qcmdexc 获取命令,但我需要一种方法将用户从 iSeries 切换到适当的“真实用户”(我在 Web 应用程序中有他们的用户名)。我想出的唯一想法是有一个 CL 程序来执行命令字符串的提交工作并将真实用户作为用户传递。
是否有更好的选择来更改作业的用户,以便我可以通过 SQL 连接以交互方式运行事物?还是我最好做提交工作?
【问题讨论】:
-
最好的可能是更改您的日志记录功能以使用 currentUser 而不是 applicationName(或 jobUser)。如果它确实是
security logging,那么忽略 currentUser 不是一个好选择。 -
这是一个相对较大的“现成”软件包,所以我不想修改那么多软件……它使用 SDS 结构(用户/终端),日志记录真的只是诸如在记录上更改/创建的用户之类的东西,但对于追踪事情很有用。
-
应该只有一个函数(可能从很多地方调用),但如果一个包不合理,你就无能为力了。
标签: ibm-midrange db2-400 rpgle