我正在使用PHP和MySQL构建整个系统。
我想创建用户组。
例如我希望 ADMIN1 能够添加用户和删除用户
但
我希望 ADMIN2 只能添加用户
执行此操作的标准方法是什么?
谢谢。
您可以使用 drupal 中使用的系统("table_name"):
"用户" [UID,名称]
"users_roles" [UID, rid]
"角色"[RID,名称]
"权限"[PID、RID、名称]
您可以使用简单的登录系统并使用会话来允许访问某些页面,例如
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");
}
这只是一个基本示例,但希望您可以看到使用用户的表和会话可以做什么:)
我为此创建角色,例如 ADMIN1、ADMIN2 或任何最适合的描述性名称。然后为每个用户分配一个角色,对于具有有限访问权限的页面或功能,我会检查登录用户是否是所需角色的一部分。
mysql 中没有用户组。您需要使用授权语法:https://dev.mysql.com/doc/refman/5.5/en/grant.html
你在寻找这样的东西吗?
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’;