AppComponent如果加载了子组件,我想检查根组件。子组件是指与当前 URL 匹配的组件,该组件将被加载到router-outletAppComponent 组件模板中的指令中。子组件的路由有一个异步守卫 canActivate ,它检查你是否可以进入给定的状态。
我想在守卫 canActivate 已执行并且子组件已准备好显示后,在 AppComponent 中执行我的代码。
AppComponent如果加载了子组件,我想检查根组件。子组件是指与当前 URL 匹配的组件,该组件将被加载到router-outletAppComponent 组件模板中的指令中。子组件的路由有一个异步守卫 canActivate ,它检查你是否可以进入给定的状态。
我想在守卫 canActivate 已执行并且子组件已准备好显示后,在 AppComponent 中执行我的代码。
我正在使用 laravel 策略来检查对控制器方法的访问。
这是我的 PostController。用于显示用户列表的 index() 方法:
class PostController extends Controller
{
public function index(Post $post)
{
$this->authorize($post);
return $post->all();
}
}
这是我的 PostPolicy(检查对 PostController 的 index() 方法的访问权限)。
class PostPolicy
{
// This function executes only for authenticated users.
// I want to use it for guest users too
public function index(User $user)
{
return $user->can('get-posts');
}
}
我使用https://github.com/Zizaco/entrust模块进行角色授权。角色和权限存储在数据库中,我可以使用$user->can('get-posts')检查权限的调用来查看帖子列表。这适用于经过身份验证的用户,但不知何故不适用于来宾。对于来宾,根本不会调用 PostPolicy 中的 Index 方法。客人总是被拒绝访问 PostController 的索引方法。
为什么政策不适用于 Laravel 的来宾?毕竟,客人也可以拥有一些权利。如何为来宾分配权限?
是否有可能使来宾自动与数据库中的某些用户相关联。例如,现在如果您在控制器中执行$request->user(),那么此方法将返回NULL。我想返回一个用户模型的实例而不是 NULL。它可能是一个 ID == 0 的 App\User 模型实例。我需要它是因为我想使用https://github.com/Zizaco/entrust模块为来宾分配角色和权限。