2

几天前,我正常工作的 java 应用程序声明在连接到 AS400 时抛出“一般安全错误”。我使用 JT400 库进行连接。经过一些调试后,我还发现我无法连接 IBMi access v1r1(来自 IBM 的 5250 仿真器)。System i Navigator 也不起作用。这是登录时的打印屏幕(java 应用程序的错误相同):在此处输入图像描述

但与 TN5250J 仿真器连接有效!我猜问题出在“未授权反对 /QSYS.LIB/EN_US.LOCALE”。我尝试连接两个用户。一个是我的编程用户,通过TN5250J连接正常。另一个是我无法检查的数据库访问用户,因为它已禁用通过终端的访问。在不同系统(V5R4)上使用相同的应用程序可以正常工作。查看工作日志,我一无所获。

为什么在登录期间访问 /QSYS.LIB/EN_US.LOCALE(而不是从 TN5250J 访问)?什么会影响登录过程,使其不再适用于 IBM 仿真器/库,但仍适用于 TN5250J?JT400 库中是否有一些连接属性可能会影响登录期间发生的情况,以便我可以像使用 TN5250J 一样连接?

也请有人创建标签 TN5250J。我认为它应该在这里,我没有创造它的声誉!

4

1 回答 1

0

JamesA 建议的文章中的解决方案有效。我们的管理员做到了,我恢复了访问权限。但是我们的管理员一开始并不知道问题是如何产生的。
文章中的解决方案:

  1. 执行使用对象链接命令 (WRKLNK) 以查看 AS/400 IFS 的根 (/) 目录。WRKL​​NK OBJ('/')
  2. 在 AS/400 IFS 目录对象(由单个“/”指定)前面,输入“9”以使用根 (/) 对象的权限。
  3. 如果 *PUBLIC 权限等于 *EXCLUDE,则在 *PUBLIC 条目前放置一个“2”,按 Enter 并为 *PUBLIC 用户添加以下权限: 在新数据权限参数 (DTAAUT) 下,输入 *RWX 这样用户已在根 (/) 目录中读取、写入和执行。在新对象权限参数 (OBJAUT) 下,输入以下权限: *OBJMGT:对象管理权限 *OBJEXIST:对象存在权限 *OBJALTER:对象更改权限 *OBJREF:对象引用权限
  4. 按 Enter 并保存更改。

TN5250J 之所以有效,是因为在登录期间(例如通过绿屏)不会发生错误,而是在初始化期间发生 - 当您启动 IBMi Access 时,GUI 窗口有时会提示登录。由于 TN5250j 不这样做,因此它可以工作。在 IBMi Access 中,当我在第一次提示时指定具有 *ALLOBJ 权限的用户时,我可以使用我的普通用户通过绿屏正常登录。JT400 库可能只是结合了初始化和登录的逻辑!

于 2016-06-01T10:26:49.420 回答