-
User ändern mit Hilfe von System-API
Hallo Leute!
Ich habe in meinen Programm einen CL Aufruf drin:
CALLB 'OWUSER400C'
PARM USER
PARM PWD
PARM PRFHNDL1
PARM PRFHNDL2
PARM wkSTEUERC
Dort gebe ich den User und das Passwort mit von dem User, desen Identität ich gerne möchte.
Das aufrufende CL-Programm habe ich hier im Forum gefunden und etwas angepasst, es sieht nun so aus:
PGM (&USERID &PWD &PRFHNDL1 &PRFHNDL2 &STEUERC)
DCL VAR(&STEUERC) TYPE(*CHAR) LEN(02)
DCL VAR(&USERID) TYPE(*CHAR) LEN(10)
DCL VAR(&PWD) TYPE(*CHAR) LEN(10)
DCL VAR(&PWDLEN) TYPE(*CHAR) LEN(4) +
VALUE( X'00000010')
DCL VAR(&PWDCCSID) TYPE(*CHAR) LEN(4) +
VALUE( X'FFFFFFFF')
DCL VAR(&ERRCODE) TYPE(*CHAR) LEN(8) +
VALUE( X'0000000000000000')
DCL VAR(&CURPWD) TYPE(*CHAR) LEN(10) +
VALUE(' ')
DCL VAR(&OPERATION) TYPE(*CHAR) LEN(4) +
VALUE( X'00000001')
DCL VAR(&ERROR) TYPE(*CHAR) LEN(315) +
VALUE(' ')
DCL VAR(&PRFHNDL1) TYPE(*CHAR) LEN(12)
DCL VAR(&PRFHNDL2) TYPE(*CHAR) LEN(12)
IF COND(&STEUERC *EQ '01') THEN(DO)
CALL PGM(QSYGETPH) PARM('*CURRENT ' +
&CURPWD &PRFHNDL1)
CALL PGM(QSYGETPH) PARM(&USERID &PWD &PRFHNDL2 +
&ERRCODE &PWDLEN &PWDCCSID)
CALL PGM(QWTSETP) PARM(&PRFHNDL2)
CALL PGM(QWTSJUID) PARM(&OPERATION &ERROR)
ENDDO
IF COND(&STEUERC *EQ '02') THEN(DO)
CALL PGM(QWTSETP) PARM(&PRFHNDL1)
CALL PGM(QSYRLSPH) PARM(&PRFHNDL1)
CALL PGM(QSYRLSPH) PARM(&PRFHNDL2)
ENDDO
ENDPGM
Nur nach dem CL-Aufruf ist der User nicht verändert wenn er in das Programm zurückkehrt, welches das CL aufruft.
Hat einer von euch eine Ahnung wieso?
-
Nach setzen des Profils läuft der Job unter der Berechtigung des neuen Profils.
Der Jobname ändert sich dadurch nicht.
Du kannst also nicht direkt abfragen, unter welchem User der Job läuft (also Jobattribut).
Hier hilft nur ggf. ein SQL mit der Abfrage auf Current User.
-
Danke schonmal für deine Hilfe!
Kannst du mir vielleicht noch mit dem SQL ein wenig weiterhelfen?
Welche Datei muss ich abfragen, bzw. wo ist der Current User zu finden?
-
"Current User" ist eine Systemvariable und kann einfach per
D MyUser S 10
exec sql set : MyUser = Current User;
abgefragt werden.
Allerdings müsstest du den aktuellen User doch kennen, da du das Profil doch verwendest.
-
Also ich schildere mal genau mein Problem von vorne:
Wir führen in unserer Firma den Webservice ein, dort gibts allerdings nur einen User, den Standarduser.
Nun soll aber jeder User Änderungen durchführen können, aber nicht unter dem Standarduser sondern mit seinen normalen regulären iSeries User!
Dazu sollte er sein Passwort und Userkennung eingeben und wir wollen das Standard(web)user - Profil mit dem anderen "tauschen" um eine eindeutige Identifikation durchzuführen!
-
Ob das der richtige Weg ist ?
Immerhin wüden dann User und Kennwort ja im Klartext übers Netz gehen.
Je nach Anzahl der erwarteten User benötigst du ja auch eine Vielzahl von Profilen.
Wenn du allerdings die DB connectest bevor du das Profil änderst, erhältst du immer den verbundenen User.
Was verstehst du unter WebService ?
Eine HTTP-Anwendung, 5250-Webfacing o.ä. ?
-
Unter WebService verstehe ich folgendes:
IBM Web Administration for i5/OS
Wir erstellen eine Java-Software in dem verschiedene Änderungen, die bisher nur am Grünschirm möglich waren, nun auch über eine Web-Oberfläche möglich sind.
Alle User gibt es bereits auf der iSeries, es kommen keine zusätzlichen dazu.
Das Problem ist nur, dass man sich als Standard-User im WebService, sprich der Java Oberfläche anmeldet und dann gewisse Daten (z.B. eine Adresse) ändert, zu Dokumentationszwecken muss hier aber unbedingt das richtige Userprofil abgefragt werden. Dazu wollen wir halt das neben den zu ändernden Daten (z.B. Adresse) auch die iSeries User-ID und das dazugehörige Passwort eingeben wird.
Danach wird via RPG geprüft (Java übergibt alle Daten an das RPG-Programm) ob die Daten korrekt, bzw. der User das richtige Passwort mitgegeben hat.
Das ist nötig, weil alle Programme (in unseren Fall das Adressdatenprogramm) bereits im RPG vorliegen und bisher ja immer via Grünschirm geändert worden, dort wurde der aktuelle User ja ohne Probleme mitdokumentiert.
-
QWTSETP switched nur die Jobberechtigung und den SQL Benutzer um, mit rtvjoba und Konsorten bekommst du immer noch den vorherigen Benutzer angezeigt. SQL kennt im register current_user den gesetzten und in der Programmstatus Datenstruktur sollte der ebenfalls drinsein (nicht der bei der Jobnummer!!!)
D*B
PS:
falls deine WebServices allerdings wirklich WebServices sind, dann sollte man schon nochmal genauer draufsehen, ob man sich da von der Berechtigungsseite Löcher reinreißt.
 Zitat von Bonkel
Unter WebService verstehe ich folgendes:
IBM Web Administration for i5/OS
Wir erstellen eine Java-Software in dem verschiedene Änderungen, die bisher nur am Grünschirm möglich waren, nun auch über eine Web-Oberfläche möglich sind.
Alle User gibt es bereits auf der iSeries, es kommen keine zusätzlichen dazu.
Das Problem ist nur, dass man sich als Standard-User im WebService, sprich der Java Oberfläche anmeldet und dann gewisse Daten (z.B. eine Adresse) ändert, zu Dokumentationszwecken muss hier aber unbedingt das richtige Userprofil abgefragt werden. Dazu wollen wir halt das neben den zu ändernden Daten (z.B. Adresse) auch die iSeries User-ID und das dazugehörige Passwort eingeben wird.
Danach wird via RPG geprüft (Java übergibt alle Daten an das RPG-Programm) ob die Daten korrekt, bzw. der User das richtige Passwort mitgegeben hat.
Das ist nötig, weil alle Programme (in unseren Fall das Adressdatenprogramm) bereits im RPG vorliegen und bisher ja immer via Grünschirm geändert worden, dort wurde der aktuelle User ja ohne Probleme mitdokumentiert.
Similar Threads
-
By Kirsten Steer in forum NEWSboard Server Software
Antworten: 0
Letzter Beitrag: 11-12-06, 09:03
-
By remo2010 in forum IBM i Hauptforum
Antworten: 2
Letzter Beitrag: 23-11-06, 13:31
-
By Kilianski in forum Archiv NEWSblibs
Antworten: 0
Letzter Beitrag: 07-11-06, 08:30
-
By marcel331 in forum IBM i Hauptforum
Antworten: 4
Letzter Beitrag: 12-08-06, 13:01
-
By miro in forum NEWSboard Programmierung
Antworten: 4
Letzter Beitrag: 02-02-05, 13:47
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- You may not post attachments
- You may not edit your posts
-
Foren-Regeln
|
Erweiterte Foren Suche
Google Foren Suche
Forum & Artikel Update eMail
AS/400 / IBM i
Server Expert Gruppen
Unternehmens IT
|
Kategorien online Artikel
- Big Data, Analytics, BI, MIS
- Cloud, Social Media, Devices
- DMS, Archivierung, Druck
- ERP + Add-ons, Business Software
- Hochverfügbarkeit
- Human Resources, Personal
- IBM Announcements
- IT-Karikaturen
- Leitartikel
- Load`n`go
- Messen, Veranstaltungen
- NEWSolutions Dossiers
- Programmierung
- Security
- Software Development + Change Mgmt.
- Solutions & Provider
- Speicher – Storage
- Strategische Berichte
- Systemmanagement
- Tools, Hot-Tips
Auf dem Laufenden bleiben
|
Bookmarks