PDA

View Full Version : Anmeldung per VB an AS400



HenningSpandau
15-05-12, 14:00
Im Release V5R2 konnten wir nach dem das Kennwort abgelaufen ist, die Änderung vom VB-Prg. durchführen.
Im Release V6R1 bekommen wir immer das CPF- 2292 *SECADM erforderlich.
Auch wenn der Benutzer *SECADM-Rechte hat.

Kann mir jemand helfen?
Danke
Henning

Fuerchau
15-05-12, 14:17
Auf welche Weise änderst du denn das Kennwort?

Es gibt ein ActiveX von CA (CWBX.DLL).
Mit dem Objekt AS400System und der Methode ChangePassword kann das Kennwort mit der erforderlichen Berechtigung geändert werden.

Hat der User kein *SECADM kann nur das eigene Kennwort geändert werden.

HenningSpandau
15-05-12, 14:55
Hallo,
leider kann ich nur feststellenm, dass die Anmeldung über ein C-Prg (Socket) läuft. Welche Methode kann ich im C nicht lesen.
Danke für die bisherige Antwort
Henning

Fuerchau
15-05-12, 16:32
Oben schreibst du doch VB-Programm?!

Die CWBX.DLL läßt sich auch als COM-Object von C++ verwenden.
Es gibt sogar entsprechende Includes im CA-Verzeichnis. Allerdings muss dann auch das Toolkit installiert sein.

HenningSpandau
16-05-12, 06:12
Zur Info:
Es ist auf dem Client ein VB und auf dem Host ein C-Programm.

Danke für die Hilfe
Henning

Fuerchau
16-05-12, 07:54
Der Client muss sich doch am Host anmelden um das Programm auf der AS/400 überhaupt erst zu starten.

HenningSpandau
16-05-12, 09:56
Der Client (VB) meldet sich beim Host (C-SocketPrg) an.
Zur Erinnerung es ging darum, dass die Änderung des Kennworts nicht geht auf Release V6R1 auf V5 geht es noch.

Fuerchau
16-05-12, 11:19
Daher trotzdem nochmal die Frage:
Wer meldet sich wohl an und wer ändert das Kennwort, der Client oder das Programm auf der AS/400.

Beim Wechsel auf V6 muss an den Berechtigungen (durch Restore) irgendwas geändert worden sein.
Beim Restore auf eine andere Maschine werden automatisch bestimmte Rechte entzogen, damit nicht fremde Rechte plötzlich gültig werden.

Beispiel:
Auf meiner Maschine schreibe ich eine Anwendung mit Programmen als OWNER QSECOFR und USRPRF(*OWNER).
Beim Restore auf die Kundenmaschine wird mir aber die Berechtigung USRPRF(*OWNER) entzogen, damit ich nicht so einfach vollen Zugriff auf die Maschine bekomme.

Ggf. ist hier das selbe passiert.
Das Programm (vorausgesetzt es läuft auf der AS/400), dass das Kennwort ändern soll läuft gar nicht mit der Berechtigung des Users, der *SECADM hat.

Einfach nur *SECADM reicht im Übrigen nicht. Man benötigt zusätzlich die Berechtigung *OBJMGT und *USE am zu ändernden Profil oder eben *ALLOBJ.

Auch beim Zurückspeichern von Userprofilen von einer anderen Maschine werden z.B. *ALLOBJ-Berechtigungen entzogen.

Prüfe doch mal alles daraufhin.