PHP と MySQL を使用してシステム全体を構築しています。
ユーザーグループを作成したい。
たとえば、ADMIN1がADD USERおよびREMOVE USERできるようにしたい
しかし
ADMIN2がADD USERのみできるようにしたい
これを行う標準的な方法は何ですか?
ありがとう。
PHP と MySQL を使用してシステム全体を構築しています。
ユーザーグループを作成したい。
たとえば、ADMIN1がADD USERおよびREMOVE USERできるようにしたい
しかし
ADMIN2がADD USERのみできるようにしたい
これを行う標準的な方法は何ですか?
ありがとう。
drupal で使用されているシステム (「table_name」) を使用できます。
「ユーザー」[uid、名前]
"users_roles" [uid、削除]
「役割」[削除、名前]
「パーミッション」[pid、除去、名前]
このためのロールを作成します。たとえば、ADMIN1、ADMIN2 など、わかりやすい名前が最も適しています。次に、各ユーザーに役割が割り当てられ、アクセスが制限されているページまたは機能について、ログオンしているユーザーが必要な役割の一部であるかどうかを確認します。
このようなものをお探しですか?
Create user ‘admin1’ identified by ‘YOUR_PASSWORD’;
Revoke all on * from ‘admin1’;
Grant insert, delete, update, select on YOUR_TABLE to ‘admin1’;
Create user ‘admin2’ identified by ‘YOUR_PASSWORD’;
Revoke all on * from ‘admin2’;
Grant insert on YOUR_TABLE to ‘admin2’;
mysql にはユーザーグループがありません。grant 構文を使用する必要があります: https://dev.mysql.com/doc/refman/5.5/en/grant.html
シンプルなログイン システムを使用し、セッションを使用して特定のページへのアクセスを許可することができます。
session_start();
if (!(isset($_SESSION['login']) && $_SESSION['login'] != '')) {
header ("Location: login.php");
}
この例では、ユーザーが最初にログインせずに他のページにアクセスできないようにします。ログイン ページは、次のようにセッションを変更します。
if (!empty ($username) && !empty ($password)){
$sql = mysql_query ("SELECT * FROM users WHERE username='".$username."' AND password ='".$password."' LIMIT 1");
if (mysql_num_rows ($sql) > 0){
$_SESSION['login']=1;
$_SESSION['username']=$username;
header ("Location: index.php");
}
これは基本的な例にすぎませんが、ユーザーのテーブルとセッションを使用して何ができるかがわかると思います:)