Не могу понять, как заставить мой пакет распознавать вошедшего в систему пользователя.Все работает нормально, когда контроллеры находятся в основном приложении, но если попытаться переместить их в пакет, аутентификация не распознается.
\ app \ Http \ Middleware \ RedirectIfAuthenticated.php продолжает выгонять меня.
Я вхожу в основное приложение с охраной «админ».Я могу перейти ко всем страницам приложения, но как только я пытаюсь получить доступ к странице из пакета, меня выгоняют.
Я добавил несколько вещей в конструкцию контроллера для доступа к Auth:: admin guard но ничего не работает ... см. код ниже.Я закомментировал некоторые строки
\ app \ Http \ Middleware \ RedirectIfAuthenticated.php
public function handle($request, Closure $next, $guard = null)
{
if (Auth::guard($guard)->check()) //RETURNS NULL
{
if ($guard == "admin")
{
//user was authenticated with admin guard.
return redirect()->route('admin.home');
} else {
//default guard.
return redirect()->route('home');
}
}
return $next($request);
}
маршруты маршрутов
Route::prefix('/admin')->middleware('auth:admin')->name('admin.')->namespace('RF\RolesPermissions\Http\Controllers\Admin')->group(function(){
Route::resource('admins', 'AdminController', ['except' => ['show'] ]);
});
Контроллер администратора в пакете
class AdminController extends Controller
{
// protected $guard_name = 'admin';
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct()
{
//Auth::shouldUse('admin');
//$user = Auth::user();
//dd($user);
//dd(Config::get('auth'));
//$this->middleware('auth');
}
Нет ошибок.Мне просто нужно
if (Auth::guard($guard)->check()) //RETURNS NULL
, чтобы распознать моего аутентифицированного пользователя, чтобы я мог получить доступ к файлам политики и определить разрешения