我正在使用 postgreSQL 9.1。我在数据库上创建了四个角色/用户,每个角色/用户在不同的表上都有不同的权限。
当有人尝试登录时,php 以“guest”(第一个角色/用户)身份连接到数据库,例如
$conn = pg_connect("host=localhost port=5432 dbname=mydb user=guest password=guest")or die('no connection, sorry');
来宾只能从“用户”表中“选择”以检查登录。成功登录后,我想根据“用户”表上名为“级别”的 int 将用户重新连接到数据库。如果在表中找到的“级别”为 1,我想将用户重新连接为“低”角色/用户,例如
$conn = pg_connect("host=localhost port=5432 dbname=mydb user=low password=low")or die('no connection, sorry');
“低”角色/用户只能在某些表上插入和更新。
随后用于其他角色/用户。如果在 users 表上找到的“级别”为 2,则以“中”连接(可以插入/更新/删除),如果是 3,则以“高”(超级用户)连接。
简而言之,就像:以“访客”身份连接,因此您可以“选择”并验证登录 > 登录成功 > 根据“级别”,重新连接为“低”,因此您可以插入/更新或作为“中”所以你可以插入/更新/删除或作为“高”所以,超级用户。
我怎样才能做到这一点?成功登录后重新连接,以便用户获得所需的权限,以便他可以执行正确的操作?
谢谢