0

限制访问。我有一张表,为了简化,它有 3 列。用户,通过,访问。

我有 4 种类型的页面...一种需要 1 个,也就是超级管理员。另一个需要 2 个,也就是一般管理员……另外 3 个,用于 mod。最后,任何用户都可以访问。

我可以写代码,但我应该怎么做呢?

我自己提出了 2 个选项:进入我的库的函数包含我包含的文件,如果它们不应该能够访问,它会重定向到 "restricted"

还有其他选择吗?最常见的方法是什么?重用代码最有效。

4

2 回答 2

0

我唯一真正的建议是:不要编写自己的 ACL 库。那里有很多。看看https://packagist.org/search/?q=acl看看是否有一个看起来适合你的用例。我一直在看https://github.com/alexshelkov/SimpleAcl,它可能是一个很好的开始(虽然我自己没有使用过)。

于 2013-02-19T05:14:03.990 回答
0

有两种方法可以实现您想要实现的目标。我通常采用的方式是根据访问级别隐藏链接。如果不允许用户查看特定内容,请创建一个函数来隐藏链接并仅将其显示给具有正确权限的用户。

如果用户键入受限页面的 URL,那么他们应该被重定向到默认页面,可能是主页,或者解释为什么他们不能去“这里”的页面。您只需要测试权限,并且有一个默认的目标页面。任何“安全”页面都应该简单地根据页面级别测试当前访问级别,如果不等于或更高则重定向。

另一种方法是创建一个默认的“拒绝访问”页面,当用户没有足够的权限时加载该页面。

我总是用第一种方法。它很容易实现,减少了许多令人头疼的问题,最重要的是,减少了用户的挫败感。这更像是一个用户界面问题,而不是一个编程问题。

问问自己这个问题,如果网站上的管理员链接无处可去,amazon.com 会有多烦人?

于 2013-02-19T05:06:27.290 回答