我正在为我们公司制作后端。我想基本上有3个用户组... ADMIN也可以访问所有功能,MANAGERS可以访问除ADMIN任务以外的所有功能,而USER具有最有限的功能......
我正在研究MySQL如何处理用户,并且是一个非常好的系统,但在编写类似的东西时似乎有相当多的开销。
我想知道是否有其他人有建议。我想让团队管理充满活力,但我想知道它是否值得,因为我们是一家小公司..
基本上我会建立一个看起来像这样的桌子(裸露在我这是一个粗略的模拟......)。假设GroupID 1是ADMIN,GroupID 2是User:
PRIVILEGE GroupID Grant
USER_ADD 1 "Y"
USER_ADD 2 "N"
EDIT_LISTING 1 "Y"
EDIT_LISTING 2 "Y"
依旧...... 以下是我正在考虑的3个选项:
如果有人有任何意见或其他想法,我们将不胜感激。
答案 0 :(得分:0)
我不会尝试重新发明轮子(除非你想从中学习)。您是否看过Zend Framework,它附带了自己的Authentication和Authorization - 模块?
答案 1 :(得分:0)
这就是我喜欢处理这种情况的方法。
例如:
<?php
$Me = new User(user parameters);
$_SESSION['currentUser'] = $Me;
...
if($_SESSION['currentUser']->GetValue(Permission) == 'Admin')
{
echo 'You're an admin';
}
?>
这样,除非他们更改/更新他们的信息,否则您只进行一次用户查询。您也不必执行与权限相关的查询,从而节省服务器开销和时间。