自定义消息 - Laravel 7 - 拒绝授权
Custom Message - Laravel 7 - Denied Authorization
我有一个控制器,它在其功能中验证分配给 Post 模型的策略:
App\Http\Controllers\PostController
class PostController extends Controller
{
public function index(Request $request, Post $post) {
$response = Gate::inspect('viewAny', $post);
if ($response->allowed()) {
echo 'valid';
} else {
echo 'invalid';
}
}
}
文件:Post政策
public function viewAny(User $user)
{
return $user->role === 'admin' ? Response::allow() : Response::deny();
}
当用户以管理员身份登录时,它 returns 登录管理员的消息,当它不是管理员时它 returns 403 响应,我想替换这个 403 响应带有类似 'User is not administrator'
的消息
您可以在控制器的用户模型上使用 can()
和 cant()
方法:
if ($user->cant('view-any', $post)) {
return 'User is not administrator';
}
我有一个控制器,它在其功能中验证分配给 Post 模型的策略:
App\Http\Controllers\PostController
class PostController extends Controller
{
public function index(Request $request, Post $post) {
$response = Gate::inspect('viewAny', $post);
if ($response->allowed()) {
echo 'valid';
} else {
echo 'invalid';
}
}
}
文件:Post政策
public function viewAny(User $user)
{
return $user->role === 'admin' ? Response::allow() : Response::deny();
}
当用户以管理员身份登录时,它 returns 登录管理员的消息,当它不是管理员时它 returns 403 响应,我想替换这个 403 响应带有类似 'User is not administrator'
的消息您可以在控制器的用户模型上使用 can()
和 cant()
方法:
if ($user->cant('view-any', $post)) {
return 'User is not administrator';
}