Используйте промежуточное программное обеспечение, за исключением случаев, когда пользователь аутентификации является адPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Используйте промежуточное программное обеспечение, за исключением случаев, когда пользователь аутентификации является ад

Сообщение Anonymous »

У меня есть небольшое приложение, в котором пользователи должны подписываться на темы сообщений.
Я использую Laravel Cashier с Stripe, и оно работает нормально.
Я создал промежуточное программное обеспечение, чтобы проверить, подписан ли auth::user() или нет:

Код: Выделить всё

public function handle(Request $request, Closure $next): Response
{
if (! $request->user()?->subscribedToPrice([env('MONTH_SUBSCRIPTION'), env('YEAR_SUBSCRIPTION')])) {
return redirect('/subscribe/create');
}

return $next($request);
}
В TopicController:

Код: Выделить всё

$this->middleware('auth')->except(['index', 'show']);
$this->middleware(EnsureUserIsSubscribed::class)->except(['index', 'show']);
Для подписанных пользователей все работает отлично, но я хочу, чтобы пользователи с ролью администратора публиковали сообщения без подписки, и я застрял.
В разных представлениях я использую это, чтобы проверить, является ли пользователь администратором (даже если я, вероятно, мог бы использовать новое промежуточное программное обеспечение)

Код: Выделить всё

if (Auth::user() && $user->roles->pluck('name')->contains('admin'))
Будем благодарны за любую помощь.
Спасибо!

Подробнее здесь: https://stackoverflow.com/questions/798 ... r-is-admin
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»