私はpostgreSQLの初心者です。バージョン9.1を使用しています。さまざまなユーザーがさまざまな権限を持つログインシステムを作成したいと考えています。
私が心に留めていることは....
単純なユーザーがいます。彼を「訪問者」と呼びましょう。彼は users テーブルから「選択」することしかできません。誰かがサインインするためのログイン名とパスワードを与えると、php はログイン名とパスワードを取得し、「訪問者」としてデータベースに接続します。一致するペアが見つかった場合 (テーブル内の log/pass given-log/pass が同じ)、次のようにセッションを開始します。
session_start();
$_SESSION['authenticated']=true;
while ($arr=pg_fetch_array($r)) {
ユーザーのIDを保存しましょう
$_SESSION['c_id']=$arr['c_id'];
ユーザーの「ロール」を保存します。Role は単純な int で、users テーブルにあります。各ユーザーの権利を定義します。1 の場合、ユーザーはテーブルを更新/挿入/削除できます。2 の場合、ユーザーは 2 つのテーブルを更新/挿入/削除でき、3 の場合は、「レベル」1 および 2 (スーパーユーザー) で 2 つのテーブルを更新/挿入/削除し、新しいユーザーを追加することもできます。
これは単に、各ユーザーが異なるメニューを持っていることを意味するので、単純な「if」を使用して、異なるメニューに誘導してみましょう。
$_SESSION['role']=$arr['role'];
if ($_SESSION['role']==1){header('Location:menouOne.php');}
elseif ($_SESSION['role']==2) {header('Location:menouTwo.php');}
elseif ($_SESSION['role']==3) {header('Location:menouThree.php');}
たとえば、menouOne には「更新/削除/挿入」のみがあり、menouThree には menuouOne に加えて「新しいユーザーの追加」もあります。
この慣行は私には良さそうに思えますが、非常に多くの異なるファイルを作成する必要があります。
それで、私の質問
これは良い習慣ですか、それとももっと簡単で速い方法がありますか?
postgreSQL での新しいユーザーの作成に関するリンクはありますか? いくつか見つけましたが、まだ混乱しています。
postgreSQL への md5 セキュリティの追加に関するリンクはありますか?
ありがとうございました