From: | Gabriel Dinis <gabriel(dot)dinis(at)vigiesolutions(dot)com> |
---|---|
To: | pgsql-general(at)postgresql(dot)org |
Subject: | PHP Web Auditing and Authorization |
Date: | 2010-11-03 12:04:59 |
Message-ID: | AANLkTinod77JUT7GcxjUhJwsMQFSspNJ9PoKzqyb4=sD@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
Dear all,
Imagine I have two users "Maria" and "Ana" using a PHP site.
There is a common Postgres user "phpuser" for both.
I'm creating audit tables to track the actions made by each PHP site user.
*I have used the following code:*
CREATE OR REPLACE FUNCTION MinUser_audit() RETURNS TRIGGER AS $usr_audit$
BEGIN
--
-- Create a row in MinUser_Audit to reflect the operation
performed on MinUser,
-- make use of the special variable TG_OP to work out the operation.
--
IF (TG_OP = 'DELETE') THEN
INSERT INTO MinUser_audit VALUES (DEFAULT, 'D', now(),
*user*, OLD.*);
RETURN OLD;
ELSIF (TG_OP = 'UPDATE') THEN
INSERT INTO MinUser_audit VALUES (DEFAULT, 'U', now(),
*user*, NEW.*);
RETURN NEW;
ELSIF (TG_OP = 'INSERT') THEN
INSERT INTO MinUser_audit VALUES (DEFAULT, 'I', now(),
*user*, NEW.*);
RETURN NEW;
END IF;
RETURN NULL; -- result is ignored since this is an AFTER trigger
END;
$usr_audit$ LANGUAGE plpgsql;
Everything seems to wok fine except the *use*r information I'm getting, in
this case "*phpuse*r".
I would like to have not the postgres user but the PHP site user (*Maria or
Ana*).
How can I pass the PHP site user (Maria or Ana) into Postgres in a clever
way?
I have done several web searches and found nothing for Postgres. I found a
solution for oracle:
http://www.oracle.com/technetwork/articles/dsl/php-web-auditing-171451.html
*
They use a "client identifier" feature.* Is there a similar way to do this
in Postgres?
Thanks in advance.
Gabriel
From | Date | Subject | |
---|---|---|---|
Next Message | Raymond O'Donnell | 2010-11-03 12:32:49 | Re: Running postgres with a different user/group |
Previous Message | Gabriele Bulfon | 2010-11-03 11:43:50 | Re: Running postgres with a different user/group |