- 论坛徽章:
- 0
|
在AS400中如何控制分别对用户进行ftp的控制?
这里有个简单的例子
- TSTLOGCL: PGM PARM(&APPIDIN &USRIN &USRLENIN &AUTIN &AUTLENIN +
- &IPADDRIN &IPLENIN &RETCDOUT &USRPRFOUT &PASSWDOUT +
- &CURLIBOUT)
- DCL VAR(&APPIDIN) TYPE(*CHAR) LEN(4) /* Application identifier */
- DCL VAR(&USRIN) TYPE(*CHAR) LEN(999) /* User ID */
- DCL VAR(&USRLENIN) TYPE(*CHAR) LEN(4) /* Length of user ID */
- DCL VAR(&AUTIN) TYPE(*CHAR) LEN(999) /* Authentication string */
- DCL VAR(&AUTLENIN) TYPE(*CHAR) LEN(4) /* Length of auth. string */
- DCL VAR(&IPADDRIN) TYPE(*CHAR) LEN(15) /* Client IP address */
- DCL VAR(&IPLENIN) TYPE(*CHAR) LEN(4) /* IP address length */
- DCL VAR(&RETCDOUT) TYPE(*CHAR) LEN(4) /* return code (out) */
- DCL VAR(&USRPRFOUT) TYPE(*CHAR) LEN(10) /* user profile (out) */
- DCL VAR(&PASSWDOUT) TYPE(*CHAR) LEN(10) /* password (out) */
- DCL VAR(&CURLIBOUT) TYPE(*CHAR) LEN(10) /* current library (out) */
- /* Declare local copiesof parameters(in format usable by CL) */
- DCL VAR(&APPID) TYPE(*DEC) LEN(1 0)
- DCL VAR(&USRLEN) TYPE(*DEC) LEN(5 0)
- DCL VAR(&AUTLEN) TYPE(*DEC) LEN(5 0)
- DCL VAR(&IPLEN) TYPE(*DEC) LEN(5 0)
- /* Assign input parameters to local copies */
- CHGVAR VAR(&APPID) VALUE(%BINARY(&APPIDIN))
- CHGVAR VAR(&USRLEN) VALUE(%BINARY(&USRLENIN))
- CHGVAR VAR(&AUTLEN) VALUE(%BINARY(&AUTLENIN))
- CHGVAR VAR(&IPLEN) VALUE(%BINARY(&IPLENIN))
- /* Check for ANONYMOUS user. Allow for ANONYMOUSA, etc. as “regular” */
- /* user profile. */
- IF COND(&USRLEN = 9) THEN(DO)
- IF COND(%SST(&USRIN 1 9) = ’ANONYMOUS’) THEN(DO)
- /* For anonymous user: want to force user profile ANONYMOUS current library to PUBLIC. */
- CHGVAR VAR(%BINARY(&RETCDOUT)) VALUE(6)
- CHGVAR VAR(&USRPRFOUT) VALUE(’ANONYMOUS ’)
- CHGVAR VAR(&CURLIBOUT) VALUE(’PUBLIC ’)
- ENDDO
- /* Any other user: proceed with normal logon processing. */
- ELSE CMD(CHGVAR VAR(%BINARY(&RETCDOUT)) VALUE(1))
- ENDDO
- ELSE CMD(CHGVAR VAR(%BINARY(&RETCDOUT)) VALUE(1))
- END: ENDPGM
复制代码 |
|