验证rpgs的用户,密码和打开菜单

tec*_*hie 0 db2 rpg rpgle ibm-midrange

我的AS400应用程序(rpg400)中有一个登录模块.验证了用户名和密码,只有密码匹配,用户才能访问菜单屏幕,菜单屏幕还包含导航到后续模块的RPG程序.

我现在想要实现的是,当用户被验证时,登录的用户名必须出现在每个屏幕或者每个rpg屏幕上.(即必须维护用户会话)请不要指导管理员属性.这是来自低水平的工作点.

以下是用户的PF:

       USER PF


A          R USRREC                
A            USER          10A     
A            PWD           10A     
A            USRTYP         2A     
A          K USRTYP                
Run Code Online (Sandbox Code Playgroud)

键入用户类型.如何允许所有pgms访问登录的人的变量?

Buc*_*bro 7

5250显示不像HTML.没有可以用作标准模板的CSS.您需要专门设计每个显示器,使其看起来像您想要的那样.对于此特定问题,这意味着您将在要显示的每个显示面板上放置一个用户ID字段.

如果我正在设计这个,我可能会将用户ID作为参数传递给每个RPG程序,但是有很多方法可以传递信息.

  • QTEMP中的数据区域
  • QTEMP中的数据库文件
  • LDA
  • QTEMP中的用户空间
  • 环境变量(*JOB)

将用户ID作为参数传递的优点是永远不会需要清理过时的对象.如果一个人有两个用户ID - 比如她在Accounting和Accounts Payable中工作 - 并且需要签名并重新登录到这个内部安全系统,则后续CALL只传递正确的参数.

如果系统可以使用内置的IBM安全性,则可以避免所有这些.然后,您可以使用作为作业名称一部分的用户配置文件 - 请参阅程序状态数据结构,位置254-263以在RPG程序中获取.如果您可以使用IBM用户配置文件,则不必传递任何内容; 每个程序都能够自己检索这些信息; 我将它放入服务程序中,因此很容易重用.