Laravel 5.1 在哪里存储 acl 权限?
Where does Laravel 5.1 store acl permissions?
我正在尝试遵循 documentation on authorization,但在理解它最终如何运作时遇到了一些问题。
它在哪里存储权限?它是否适用于 roles?
如果它确实适用于 角色,您如何将角色应用到 用户?
权限在您在策略或 AuthServiceProvider 中编写的代码中定义。
如果您想按用户申请角色:
- 生成适当的迁移(例如:角色,roles_users)。
- 为数据库中的每个用户保存您想要的角色。
- 定义表之间的关系。
Add/update 使用您在 AuthServiceProvider 或策略中定义的角色的权限(能力)。
例子
class AuthServiceProvider extends ServiceProvider
{
//...
public function boot(GateContract $gate)
{
$this->registerPolicies($gate);
$gate->define('read-very-confident-info', function ($user) {
return $user->roles->contains(1); // suppose id 1 means user can read very confident info
});
}
//...
}
我正在尝试遵循 documentation on authorization,但在理解它最终如何运作时遇到了一些问题。
它在哪里存储权限?它是否适用于 roles?
如果它确实适用于 角色,您如何将角色应用到 用户?
权限在您在策略或 AuthServiceProvider 中编写的代码中定义。
如果您想按用户申请角色:
- 生成适当的迁移(例如:角色,roles_users)。
- 为数据库中的每个用户保存您想要的角色。
- 定义表之间的关系。
Add/update 使用您在 AuthServiceProvider 或策略中定义的角色的权限(能力)。
例子
class AuthServiceProvider extends ServiceProvider { //... public function boot(GateContract $gate) { $this->registerPolicies($gate); $gate->define('read-very-confident-info', function ($user) { return $user->roles->contains(1); // suppose id 1 means user can read very confident info }); } //... }