249 lines
8.0 KiB
HTML
249 lines
8.0 KiB
HTML
|
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||
|
<html>
|
||
|
<head>
|
||
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||
|
<meta name="Copyright" content="Copyright (c) 2006 by IBM Corporation">
|
||
|
<title>Change User Profile Exit Program</title>
|
||
|
<!-- All rights reserved. Licensed Materials Property of IBM -->
|
||
|
<!-- US Government Users Restricted Rights -->
|
||
|
<!-- Use, duplication or disclosure restricted by -->
|
||
|
<!-- GSA ADP Schedule Contract with IBM Corp. -->
|
||
|
<!-- Begin Header Records ========================================== -->
|
||
|
<!-- Sec SCRIPT A converted by B2H R4.1 (346) (CMS) by V2KEA304 -->
|
||
|
<!-- at RCHVMW2 on 17 Feb 1999 at 11:05:09 -->
|
||
|
<!--End Header Records -->
|
||
|
<link rel="stylesheet" type="text/css" href="../rzahg/ic.css">
|
||
|
</head>
|
||
|
<body>
|
||
|
<!-- Java sync-link -->
|
||
|
<script type="text/javascript" language="Javascript" src="../rzahg/synch.js">
|
||
|
</script>
|
||
|
|
||
|
<a name="Top_Of_Page"></a>
|
||
|
|
||
|
<h2>Change User Profile Exit Program</h2>
|
||
|
|
||
|
<div class="box" style="width: 60%;">
|
||
|
<br>
|
||
|
Required Parameter:<br>
|
||
|
<!-- iddvc RMBR -->
|
||
|
<br>
|
||
|
<table width="100%">
|
||
|
<tr>
|
||
|
<td align="center" valign="top" width="10%">1</td>
|
||
|
<td align="left" valign="top" width="50%">Change profile exit information</td>
|
||
|
<td align="left" valign="top" width="20%">Input</td>
|
||
|
<td align="left" valign="top" width="20%">Char(*)</td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
|
||
|
<br><img src="delta.gif" alt="Start of change">
|
||
|
<pre>
|
||
|
QSYSINC Member Name: ECHGPRF1
|
||
|
Exit Point Name: QIBM_QSY_CHG_PROFILE
|
||
|
Exit Point Format Name: CHGP0100, CHGP0200
|
||
|
</pre><img src="deltaend.gif" alt="End of change">
|
||
|
</div>
|
||
|
|
||
|
<p><img src="delta.gif" alt="Start of change">
|
||
|
The Change User Profile exit programs are called when changing a user profile
|
||
|
using one of the following commands or API:<img src="deltaend.gif" alt="End of change">
|
||
|
</p>
|
||
|
|
||
|
<ul>
|
||
|
<li>Change User Profile (CHGUSRPRF) command</li>
|
||
|
|
||
|
<li>Change User Auditing (CHGUSRAUD) command</li>
|
||
|
|
||
|
<li>Reset Profile Attributes (QSYRESPA) API</li>
|
||
|
</ul>
|
||
|
|
||
|
<p>Other i5/OS commands and APIs call the interfaces listed above. As a
|
||
|
result, they cause the Change User Profile exit programs to be called. A
|
||
|
partial list of additional i5/OS interfaces that force calls to the exit
|
||
|
programs are listed below:</p>
|
||
|
|
||
|
<ul>
|
||
|
<li>Change Profile (CHGPRF) command</li>
|
||
|
|
||
|
<li>Change Password (CHGPWD) command</li>
|
||
|
|
||
|
<li>Change Password (QSYCHGPW) API</li>
|
||
|
|
||
|
<li>Configure System Security (CFGSYSSEC) command</li>
|
||
|
|
||
|
<li>Analyze Profile Activity (ANZPRFACT) command</li>
|
||
|
</ul>
|
||
|
|
||
|
<p>There are some i5/OS interfaces that make changes to the user profile
|
||
|
object that do not cause the Change User Profile exit programs to be called.
|
||
|
The most notable interfaces are listed below:</p>
|
||
|
|
||
|
<ul>
|
||
|
<li>Changing the user profile text description with the Change Object
|
||
|
Description (CHGOBJD) command</li>
|
||
|
|
||
|
<li>Granting or revoking private authority to an object</li>
|
||
|
|
||
|
<li>Changing object ownership information</li>
|
||
|
|
||
|
<li>Disabling a user profile during sign-on</li>
|
||
|
|
||
|
<li>Setting the encrypted user password with the Set Encrypted Password
|
||
|
(QSYSUPWD) API</li>
|
||
|
</ul>
|
||
|
|
||
|
<p>The functions which do or don't cause the exit program to be called may
|
||
|
change from release to release as commands and APIs are added.</p>
|
||
|
|
||
|
<p>
|
||
|
<img src="delta.gif" alt="Start of change">
|
||
|
When changing a user profile, as explained above,
|
||
|
the operating system calls the user-written exit programs through the
|
||
|
registration facility.
|
||
|
Exit programs can register to be notified before the profile is changed, after the
|
||
|
profile is changed, or both. The prechange notification is sent prior to
|
||
|
actually changing the profile.
|
||
|
The prechange notification is not a guarantee that the
|
||
|
profile will actually be changed. The postchange notification is sent after
|
||
|
the profile is changed.</p>
|
||
|
<p>
|
||
|
It is also possible for a prechange notification to
|
||
|
be sent for more than one profile before receiving a postchange notification.
|
||
|
Therefore, an application that wants to keep a prechange view of the profile to compare
|
||
|
to the postchange view of the profile needs to be able to handle
|
||
|
prechange views for multiple profiles and be able to match those views with
|
||
|
the correct profile during postchange processing.
|
||
|
</p>
|
||
|
<p>
|
||
|
For example, this could occur during CHGUSRPRF processing if the group profile or
|
||
|
supplemental group list is changed. If a profile that is specified as a
|
||
|
group profile or supplemental group does not already have a group ID (GID)
|
||
|
assigned to the profile, then the CHGUSRPRF code will assign a GID to the
|
||
|
profile. This involves a change to that profile, so a prechange notification
|
||
|
will be sent for the profile having a GID assigned after the prechange
|
||
|
notification for the profile specified on CHGUSRPRF, but before the
|
||
|
postchange notification for the profile specified on CHGUSRPRF.
|
||
|
<img src="deltaend.gif" alt="End of change">
|
||
|
</p>
|
||
|
|
||
|
<p>The exit point supports an unlimited number of exit
|
||
|
programs. (For information about adding an exit program to an exit point, see
|
||
|
the Registration Facility part.)</p>
|
||
|
|
||
|
<p><strong>Note:</strong> The Change User Profile exit point ignores any return
|
||
|
codes or error messages that are sent from the exit program.</p>
|
||
|
|
||
|
<br>
|
||
|
<h3>Authorities and Locks</h3>
|
||
|
|
||
|
<dl>
|
||
|
<dt><em>User Profile Authority</em></dt>
|
||
|
|
||
|
<dd>*ALLOBJ and *SECADM to add exit programs to the registration facility</dd>
|
||
|
</dl>
|
||
|
|
||
|
<h3>Required Parameter</h3>
|
||
|
|
||
|
<dl>
|
||
|
<dt><strong>Change profile exit information</strong></dt>
|
||
|
|
||
|
<dd>INPUT; CHAR(*)
|
||
|
|
||
|
<p>Information needed by the exit program for notification of any profile
|
||
|
changes. For details, see <a href="#HDRCHGFMT">Format of Change Profile Exit
|
||
|
Information</a>.</p>
|
||
|
</dd>
|
||
|
</dl>
|
||
|
|
||
|
<br>
|
||
|
<h3><a name="HDRCHGFMT">Format of Change Profile Exit Information</a></h3>
|
||
|
|
||
|
<p>The following table shows the structure of the change profile exit
|
||
|
information for
|
||
|
<img src="delta.gif" alt="Start of change">
|
||
|
formats CHGP0100 and CHGP0200.
|
||
|
<img src="deltaend.gif" alt="End of change">
|
||
|
For a description of the fields in the
|
||
|
format, see <a href="#HDRCHGI">Field Descriptions</a>.</p>
|
||
|
|
||
|
<table border width="80%">
|
||
|
<tr>
|
||
|
<th align="center" valign="bottom" colspan="2">Offset</th>
|
||
|
<th align="left" valign="bottom" rowspan="2">Type</th>
|
||
|
<th align="left" valign="bottom" rowspan="2">Field</th>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<th align="center" valign="bottom">Dec</th>
|
||
|
<th align="center" valign="bottom">Hex</th>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="center" valign="top" width="10%">0</td>
|
||
|
<td align="center" valign="top" width="10%">0</td>
|
||
|
<td align="left" valign="top" width="20%">CHAR(20)</td>
|
||
|
<td align="left" valign="top" width="60%">Exit point name</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="center" valign="top">20</td>
|
||
|
<td align="center" valign="top">14</td>
|
||
|
<td align="left" valign="top">CHAR(8)</td>
|
||
|
<td align="left" valign="top">Exit point format name</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="center" valign="top">28</td>
|
||
|
<td align="center" valign="top">1C</td>
|
||
|
<td align="left" valign="top">CHAR(10)</td>
|
||
|
<td align="left" valign="top">User profile name</td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
|
||
|
<br>
|
||
|
<br>
|
||
|
<h3><a name="HDRCHGI">Field Descriptions</a></h3>
|
||
|
|
||
|
<p><strong>Exit point format name.</strong> The format name for the Change User
|
||
|
Profile exit program.
|
||
|
<img src="delta.gif" alt="Start of change">
|
||
|
The possible format names are:
|
||
|
<img src="deltaend.gif" alt="End of change">
|
||
|
</p>
|
||
|
|
||
|
<table cellpadding="5">
|
||
|
<!-- cols="15 85" -->
|
||
|
<tr>
|
||
|
<td align="left" valign="top"><em>CHGP0100</em></td>
|
||
|
<td align="left" valign="top">The format name that is used after a user profile is
|
||
|
changed.</td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td align="left" valign="top"><em><img src="delta.gif" alt="Start of change">CHGP0200</em></td>
|
||
|
<td align="left" valign="top">The format name that is used before a user profile is
|
||
|
changed.<img src="deltaend.gif" alt="End of change"></td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
|
||
|
<p><strong>Exit point name.</strong> The name of the exit point that calls the
|
||
|
exit program.</p>
|
||
|
|
||
|
<p><strong>User profile name.</strong> The name of the user profile being
|
||
|
changed.</p>
|
||
|
|
||
|
<br>
|
||
|
<hr>
|
||
|
Exit program introduced: V3R7
|
||
|
|
||
|
<hr>
|
||
|
<table cellpadding="2" cellspacing="2" align="center">
|
||
|
<tr align="center">
|
||
|
<td valign="middle" align="center"><a href="#Top_Of_Page">Top</a> | <a href=
|
||
|
"sec.htm">Security APIs</a> | <a href="aplist.htm">APIs by category</a></td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
</body>
|
||
|
</html>
|
||
|
|