Невозможно получить доступ к объекту Auth из модуля Laravel 9 NwidartPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Невозможно получить доступ к объекту Auth из модуля Laravel 9 Nwidart

Сообщение Anonymous »

По какой -то причине я не могу получить доступ к объекту Auth из модуля NWIDART в приложении Laravel 9, независимо от того, пытаюсь ли я получить к нему доступ от одного из контроллеров модуля или от одного из контроллеров основного приложения. Это, очевидно, существует, когда навигационная частичная, которую использует модуль (с основного сайта), заполнен, но я не могу использовать его после этого. Самым дальним, что я мог пойти, был Laravel 9, потому что некоторые из пакетов, которые использовались сайты, были поддержаны только этой версии, и у нас нет бюджета, чтобы я мог больше переписать. Я почти закончил обновление, за исключением одного сайта, который использует кучу модулей. Многие из этих модулей получают доступ к объекту Auth, но по какой -то причине он не доступен от них. Я раньше использовал фреймворки MVC, но это мой первый ход с этим. Даже если я смогу сделать что -то вроде захвата некоторой информации из объекта Auth, прежде чем она станет недоступной, это будет достаточно.class MenuController extends Controller
{
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct()
{
$this->middleware('auth');
}

/**
* Show the application dashboard.
*
* @return \Illuminate\Http\Response
*/
public function getMenu()
{
$user = $this->getAuthenticatedADUser();

if (count($user) > 0)
{
$dn = $this->getDn($user);
$groups = $this->getADUserGroups($user);
$samAccountName = $this->getSamAccountName($user);

return view('pages.menu')->with('groups', $groups)
->with('samAccountName', $samAccountName)
->with('dn', $dn);
}
else
{
return view('pages.unauthorized');
}
}

/*
* get an authenticated user's AD account
*/
public function getAuthenticatedADUser()
{
$user = Adldap::getProvider('default')->search()->where('userprincipalname', '=', Auth::user()->email)->get();

return $user;
}
...
< /code>
Существует также код в модуле, чтобы вызвать одну и ту же подпрограмму, но в этом случае «Auth :: user ()-> Email»-это нулевое значение: < /p>
class WaiverController extends Controller
{
private $m;
private $user;
private $userType;
private $id;

public function __construct() {
$this->m = new MenuController;
$this->user = $this->m->getAuthenticatedADUser();
$this->userType = $this->m->getUserType($this->user);
$this->id = $this->getUserId($this->user, $this->userType);
}
...


Подробнее здесь: https://stackoverflow.com/questions/795 ... art-module
Ответить

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

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

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

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

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