Как найти имя роли и идентификатор определенного идентификатора пользователя, который не вошел в систему, используя Sentinel в laravel

Как найти имя роли и идентификатор определенного идентификатора пользователя, который не вошел в систему с помощью Sentinel в Laravel?

// **** I have used this code =>
<?php Sentinel::getUser(4)->inRole('admin'); ?>

Но это не работает, поскольку Sentinel::getUser() работает только для зарегистрированного пользователя. Но мне нужно найти имя роли и идентификатор роли пользователя, не вошедшего в систему, в одном из моих менеджеров, поэтому какой должен быть сценарий. Мне нужна помощь в этом.


person Soumik Chakraborty    schedule 25.10.2017    source источник


Ответы (2)


Вы можете получить любого пользователя на основе его идентификатора, вызвав $user = User::find(4). Затем с помощью sentinel вы сможете вызвать $roles = $user->roles, который вернет все роли, назначенные этому пользователю, или вызвать $user->inRole('admin'), чтобы проверить, находятся ли они в определенной роли.

РЕДАКТИРОВАТЬ

Чтобы это работало, вам необходимо настроить класс модели User в каталоге приложения, который расширяет базовый класс Sentinel EloquentUser. Верхняя часть файла должна выглядеть примерно так:

<?php

namespace App;

use Cartalyst\Sentinel\Users\EloquentUser;
use Sentinel;

class User extends EloquentUser {
person Harry Loyd    schedule 25.10.2017
comment
когда я использую скрипт $user = User::find(4); на мой взгляд, эта ошибка => Класс «Пользователь» не найден @Harry Loyd - person Soumik Chakraborty; 25.10.2017
comment
У вас есть настроенная модель пользователя, которая расширяет модель Sentinel Eloquent? Если у вас есть, можете ли вы проверить, что вы включили use App\User; в начало своего класса, из которого вы его вызываете. - person Harry Loyd; 25.10.2017
comment
Вы также можете использовать \Cartalyst\Sentinel\Users\EloquentUser::find(4) напрямую, если вам нужно, но обычно удобнее иметь свою собственную модель пользователя. - person Harry Loyd; 25.10.2017
comment
Я использую код в своем представлении, а в контроллере использую App\User; был использован сценарий, а также присутствует модель User extends extends EloquentUser. - person Soumik Chakraborty; 26.10.2017

Привет, у меня есть решение моей проблемы, и оно работает на странице просмотра, код, который я использовал, приведен ниже.

<?php
    $user_id=3;
    $userR = App\User::find($user_id);
    $chk=$userR->inRole('admin');
    if($chk)
    {
        //***** logic comes here ******
    }
?>
person Soumik Chakraborty    schedule 26.10.2017