与 TN5250j 的连接工作,而 IBMi access v1r1(和 JT400 库)不工作
Connection with TN5250j works while IBMi access v1r1 (and JT400 library) does not
几天前,我正常工作的 java 应用程序声明在连接到 AS400 时抛出 "General security error"。我使用 JT400 库进行连接。经过一些调试后,我还发现我无法连接 IBMi access v1r1(来自 IBM 的 5250 模拟器)。 System i Navigator 也不工作。这是登录时的打印屏幕(java 应用程序的错误相同):
但是连接TN5250J仿真器是可以的!我想问题出在 "Not authorized to object /QSYS.LIB/EN_US.LOCALE"。我尝试连接两个用户。一个是我的编程用户,通过TN5250J连接正常。另一个是我无法检查的数据库访问用户,因为它已禁用通过终端访问。在不同系统 (V5R4) 上使用相同的应用程序可以正常工作。查看工作日志我什么也没找到。
为什么在登录期间访问 /QSYS.LIB/EN_US.LOCALE(而不是从 TN5250J 访问)?什么会影响登录过程,使其不再与 IBM emulator/library 一起工作,但仍可与 TN5250J 一起工作? JT400 库中是否有一些连接属性可能会影响登录期间发生的事情,以便我可以像使用 TN5250J 一样连接?
另外请某人创建标签 TN5250J。我认为它应该在这里而且我没有创建它的声誉!
JamesA 建议的 article 中的解决方案有效。我们的管理员做到了,我恢复了访问权限。但是我们的管理员一开始并不知道问题是如何产生的。
文章中的解决方案:
- Execute the Work with Object Links command (WRKLNK) to view the Root (/) directory of the AS/400 IFS.
WRKLNK OBJ('/')
- In front of the AS/400 IFS directory object (specified by a single '/'), enter a '9' to work with the Root (/) object's authority.
- If *PUBLIC authority is equal to *EXCLUDE, place a '2' in front of the *PUBLIC entry, press enter and add the following authorities for the *PUBLIC user:
Under the New Data Authorities parameter (DTAAUT), enter *RWX so that the user has read, write, and execute in the Root (/) directory.
Under the New Object Authorities parameter (OBJAUT), enter the following authorities:
*OBJMGT: Object management authority
*OBJEXIST: Object existence authority
*OBJALTER: Object alter authority
*OBJREF: Object reference authority
- Press Enter and save your changes.
TN5250J 工作是因为错误不会在登录期间发生(例如通过绿屏),而是在初始化期间发生 - 当您启动 IBMi Access 和 GUI window 有时会提示登录。由于 TN5250j 不这样做,所以它可以工作。在 IBMi Access 中,在第一次提示时我指定具有 *ALLOBJ 权限的用户,然后我可以使用我的普通用户通过绿屏正常登录。 JT400 库可能只是结合了初始化和登录的逻辑!
几天前,我正常工作的 java 应用程序声明在连接到 AS400 时抛出 "General security error"。我使用 JT400 库进行连接。经过一些调试后,我还发现我无法连接 IBMi access v1r1(来自 IBM 的 5250 模拟器)。 System i Navigator 也不工作。这是登录时的打印屏幕(java 应用程序的错误相同):
但是连接TN5250J仿真器是可以的!我想问题出在 "Not authorized to object /QSYS.LIB/EN_US.LOCALE"。我尝试连接两个用户。一个是我的编程用户,通过TN5250J连接正常。另一个是我无法检查的数据库访问用户,因为它已禁用通过终端访问。在不同系统 (V5R4) 上使用相同的应用程序可以正常工作。查看工作日志我什么也没找到。
为什么在登录期间访问 /QSYS.LIB/EN_US.LOCALE(而不是从 TN5250J 访问)?什么会影响登录过程,使其不再与 IBM emulator/library 一起工作,但仍可与 TN5250J 一起工作? JT400 库中是否有一些连接属性可能会影响登录期间发生的事情,以便我可以像使用 TN5250J 一样连接?
另外请某人创建标签 TN5250J。我认为它应该在这里而且我没有创建它的声誉!
JamesA 建议的 article 中的解决方案有效。我们的管理员做到了,我恢复了访问权限。但是我们的管理员一开始并不知道问题是如何产生的。
文章中的解决方案:
- Execute the Work with Object Links command (WRKLNK) to view the Root (/) directory of the AS/400 IFS. WRKLNK OBJ('/')
- In front of the AS/400 IFS directory object (specified by a single '/'), enter a '9' to work with the Root (/) object's authority.
- If *PUBLIC authority is equal to *EXCLUDE, place a '2' in front of the *PUBLIC entry, press enter and add the following authorities for the *PUBLIC user: Under the New Data Authorities parameter (DTAAUT), enter *RWX so that the user has read, write, and execute in the Root (/) directory. Under the New Object Authorities parameter (OBJAUT), enter the following authorities: *OBJMGT: Object management authority *OBJEXIST: Object existence authority *OBJALTER: Object alter authority *OBJREF: Object reference authority
- Press Enter and save your changes.
TN5250J 工作是因为错误不会在登录期间发生(例如通过绿屏),而是在初始化期间发生 - 当您启动 IBMi Access 和 GUI window 有时会提示登录。由于 TN5250j 不这样做,所以它可以工作。在 IBMi Access 中,在第一次提示时我指定具有 *ALLOBJ 权限的用户,然后我可以使用我的普通用户通过绿屏正常登录。 JT400 库可能只是结合了初始化和登录的逻辑!