0

システムの設計を行っていただきます。システムには 3 つのユーザー タイプがあります。管理者、マネージャー、開発者。アプリケーションは 100 の php UI ページで構成されています。

  1. データベーステーブルはこのようなものです(ページ、管理者、マネージャー、開発者)。page はページ名、admin、manager、developer はブール フィールドです。特定のフィールドが 1 または true の場合、ロールにはアクセス権限があります。
  2. ここで、データベースを 100 ページすべてと同期する必要があります。ログインしたユーザーがどのロールに属しているかを知っています。しかし、ページを渡してテーブルと照合して、特定のユーザーがアクセスできるかどうかを確認する方法がわかりません。

私の計画は、checkpermission($_SERVER['PHP_SELF'], $role); を置くことです。各ページへ。これを適切に行うにはどうすればよいですか?この行をheader.phpに入れてもよろしいですか?それは悪いデザインでしょうか?

私のリードの主な関心事は拡張性です。彼は、あまり変更せずに別のサイトをプラグインしたいと考えています。また、ページを提供したいと考えています。管理者はそのページを使用して権限を付与、削除できます。権限ツリーにサブディレクトリを追加します。

4

1 に答える 1

0
$ROLID = $_SESSION['ROLID'];
if($ROLID == 2 || $ROLID == 3) header('Location: 'www.foo.com/home.php');

つまり、管理者はロール ID 1 で、どのページにもアクセスできます。ロール ID が 2 または 3 (マネージャーまたは開発者) のユーザーは、ホームページにリダイレクトされます。

このコードをページの上部に配置します。

于 2014-01-15T18:31:53.937 に答える