× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



I used USRPRF(*OWNER). When that didn't work, I removed the triggers,
recompiled the external programs with USRPRF(*OWNER) and reapplied the
triggers. Here is a portion of the current DSPPGM output for one of the
external triggers. The other is the same:
User profile . . . . . . . . . . . . . . . . . : *OWNER
Use adopted authority . . . . . . . . . . . . : *YES

-----Original Message-----
From: midrange-l-bounces@xxxxxxxxxxxx [mailto:midrange-l-bounces@xxxxxxxxxxxx]
On Behalf Of Denis Robitaille
Sent: Tuesday, April 03, 2007 8:23 AM
To: Midrange Systems Technical Discussion
Subject: RE: Rép. : Adopted authority and triggers

What keyword do you use when compiling the trigger to make them adopt autority.
Sometimes, we can confuse the USRPRF parameter and the AUT parameter.

"Mackie, Roger L. (Precision Press)" <RLMackie@xxxxxxxxxxxxx>
2007-04-03 09:04 >>>
The trigger programs are strictly RPGLE with no SQL statements.

-----Original Message-----
From: midrange-l-bounces@xxxxxxxxxxxx
[mailto:midrange-l-bounces@xxxxxxxxxxxx] On Behalf Of Denis Robitaille
Sent: Tuesday, April 03, 2007 8:00 AM
To: Midrange Systems Technical Discussion
Subject: Rép. : Adopted authority and triggers

Trigger should be able to adopt autority. Maybe your trigger programs uses
dynamic SQL, if so, they must be compile with the option DYNUSRPRF(*OWNER). By
dynamic SQL, I mean that the SQL statement to run is not known at compile time.

"Mackie, Roger L. (Precision Press)" <RLMackie@xxxxxxxxxxxxx>
2007-04-03 08:50 >>>
I am working on a project to give a specific user (LMTUSR) limited access to
our database. As currently designed, LMTUSR is excluded from all but one
library. The external stored procedures (SQLRPGLE and
RPGLE)
in that library adopt the owner's authority to access functions and data in
other libraries. As long as those functions are in modules that only read the
data, they work fine. However, the project requires procedures to insert data
in certain tables that have *BEFORE *INSERT and *BEFORE *UPDATE external
triggers.

From reading the security reference manual (we are on v5r3) I
understand
that triggers do not adopt authority from programs earlier in the call stack.
Changing the external trigger programs to adopt authority (CHGPGM
PGM(EXTTRG) USRPRF(*OWNER)) did not allow LMTUSR to open the files for update
using adopted authority. When the triggers are disabled, UDFs that access the
files complete correctly. When the triggers are enabled, the process fails with
SQL0443 and CPF4236 "Not authorized to open.."
in
the job log. I could not find a parameter on the ADDPFTRG command to adopt
authority.

Did I miss something? While using adopted authority is there a way to insert
and/or update data into files with triggers? If not, I'll probably use a data
queue to get the data to a job whose user does have authority. Or is there a
better way?

Thanks,
Roger Mackie




As an Amazon Associate we earn from qualifying purchases.

This thread ...

Follow-Ups:
Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.