【发布时间】:2012-11-10 23:48:51
【问题描述】:
我正在使用 PHP 和 MySQL 构建一个完整的系统。
我想创建用户组。
例如 我希望 ADMIN1 能够添加用户和删除用户
但是
我希望 ADMIN2 只能添加用户
执行此操作的标准方法是什么?
谢谢。
【问题讨论】:
标签: php mysql admin usergroups
我正在使用 PHP 和 MySQL 构建一个完整的系统。
我想创建用户组。
例如 我希望 ADMIN1 能够添加用户和删除用户
但是
我希望 ADMIN2 只能添加用户
执行此操作的标准方法是什么?
谢谢。
【问题讨论】:
标签: php mysql admin usergroups
您可以使用drupal中使用的系统(“table_name”):
“用户”[uid,名称]
"users_roles" [uid, 摆脱]
“角色”[摆脱,名称]
“权限” [pid, rid, name]
【讨论】:
您可以使用简单的登录系统并使用会话来允许访问某些页面,例如
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’;
【讨论】: