【问题标题】:Using qsys2.qcmdexc but switching user使用 qsys2.qcmdexc 但切换用户
【发布时间】: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


【解决方案1】:

这是 Shannon O'Donnel 的一篇文章,其中包含一个可以交换用户配置文件的程序。我已经成功使用它了:

http://www.itjungle.com/mpo/mpo071703-story02.html

【讨论】:

  • 应该进行一些测试以验证配置文件交换不会干扰数据库服务器中已经发生的交换以及(可能)连接时现有的应用程序,
  • 这看起来很有趣,我注意到它似乎可以使用长度为 10 的密码,它不超过密码级别 2 的 128 长度。我会再研究一下,也许我可以适应它。
  • 您确实看到了文章上的日期,以及使用的 API,对吧?为什么不调整它们并发布更新的代码?
  • @clutton 查看更多最新文档。 API 可以很好地处理 128 个字符的密码,但同时它必然会变得更加复杂。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-10-17
  • 1970-01-01
  • 2019-01-18
  • 2019-07-07
  • 1970-01-01
相关资源
最近更新 更多