Set current user in PostGresql session (config)

so it can be directly used directly by triggers and pgplsql
to track user's changes
This commit is contained in:
sparkyx 2022-11-08 20:59:30 +01:00
parent 6c807c9d47
commit 4bc4658dd7

View file

@ -35,7 +35,7 @@ class Noalyss_User
var $id; //!< in account_repository , ac_users.use_id
var $db; //!< database connx
var $db; //!< database connx to the folder NOT repository
var $admin; //!< is or is not admin
var $valid; //!< is or is not valid
var $first_name;
@ -53,6 +53,7 @@ class Noalyss_User
if ($p_id==-1)
{
$this->connect_user();
$this->set_session_var();
}
else // if p_id is set get data of another user
{
@ -60,6 +61,17 @@ class Noalyss_User
$this->load();
}
}
/**
* @brief put user_login into Postgres config (session), it can be used for tracking users activities
* @return void
*/
protected function set_session_var()
{
$this->db->exec_sql(sprintf("select set_config('noalyss.user_login','%s',false)",
Database::escape_string($_SESSION[SESSION_KEY.'g_user'])));
}
public function __toString(): string
{
return "User ".print_r($this,true);