我们正在用Laravel框架开发一个应用程序,它应该是一个RESTful应用程序,该应用程序是通过resources of Laravel框架实现的,给出了以下示例:
class CategoryController extends Controller
{
public function __construct() {
}
public function index()
{
return response()->json($this->getAll());
}
public function create()
{
//
}
public function store(Request $request)
{
//
}让我们以下面的例子为例:一些方法(如store和create )只允许网站管理员使用,但是所有用户都允许使用index方法,并且有很多类似的例子--不同类型的用户只能访问审计官的某些方法。
在这种情况下,我们可以从Laravel的Multi Auth中受益,创建不同的表来存储用户,或者为同一表中的用户定义不同的类型,并使用适用于某些特定函数的middleware来处理用户的访问。
问题:你推荐哪种方式,并请提供你的建议背后的理由
发布于 2016-08-03 08:00:51
因此,答案取决于各种参数。您所要达到的目标可以使用Laravel Auth或任何基于角色的访问控制( RBAC )系统来实现。
情况下,您应该使用RBAC:如果您的应用程序很小,那么您应该选择任何基于角色的东西。
例如..。假设您正在为某些CMS工作,那么您将不会为每个职位(经理、开发人员、营销主管等)创建表。因此,RBAC对您来说是个不错的选择。
如果您的目标很大,并且您希望将用户登录表和管理登录表分隔开来,那么您应该使用Multi-Auth:,无论出于什么原因,您都可以这样做。
我的建议
我的建议是两者兼而有之,除了RBAC (只有当您正在开发或尝试构建非常大规模的应用程序时)。
但是,正如您所描述的,只要记住这一点,我建议您使用RBAC而不是多个auth。
一些有用的链接
RBAC (laravel最流行的RBAC包之一)
如果你想去多个八月,请跟随这个博客文章多个8月份与Laravel 5.2
如果我漏掉了什么东西,或者答案可以用任何方式改进,请随时发表评论。
https://stackoverflow.com/questions/38671863
复制相似问题