UnknownSec Bypass
403
:
/
mnt
/
lmsestudio-instance-vol002
/
lms_6457fbc6908c
/
app
/
Http
/
Controllers
/
Auth
/ [
drwxr-xr-x
]
Menu
Upload
Mass depes
Mass delete
Terminal
Info server
About
name :
LoginController.php
<?php namespace EstudioLMS\Http\Controllers\Auth; use Carbon\Carbon; use EstudioLMS\Helpers\Helpers; use EstudioLMS\Models\Statistic\Login; use EstudioLMS\Repositories\Auth\UserRepository; use EstudioLMS\Services\InfoService; use Illuminate\Http\Request; use EstudioLMS\Http\Requests; use EstudioLMS\Http\Controllers\Controller; use EstudioLMS\Repositories\Config\SaasConfigInterface; use Illuminate\Translation\Translator; /** * Class LoginController * @package EstudioLMS\Http\Controllers\Auth */ class LoginController extends Controller { /** * @var UserRepository */ private $userRepository; /** * @var SaasConfigInterface */ private $saasConfig; /** * @var Translator */ private $translator; /** * @var InfoService */ private $infoService; /** * LoginController constructor. * @param UserRepository $userRepository * @param SaasConfigInterface $saasConfig * @param Translator $translator * @param InfoService $infoService */ public function __construct( UserRepository $userRepository, SaasConfigInterface $saasConfig, Translator $translator, InfoService $infoService ) { $this->userRepository = $userRepository; $this->saasConfig = $saasConfig; $this->translator = $translator; $this->infoService = $infoService; } /** * @param Request $request * @return \Illuminate\Foundation\Application|\Illuminate\Http\RedirectResponse|\Illuminate\Routing\Redirector */ public function loginAs(Request $request) { \Session::forget('admin-mail'); if (!\Session::has('admin-mail')) { $data = $request->all(); $adminMail = \Auth::user()['email']; \Session::set('admin-mail', $adminMail); $user = $this->userRepository->skipCriteria() ->findWhere([ ['email', '=', $data['email']] ])->first(); if (count($user) > 0) { \Auth::login($user); } else { flash()->error('Usuário não encontrado'); } } else { flash()->error('Error!'); } return redirect(route('environment.index')); } /** * @return \Illuminate\Foundation\Application|\Illuminate\Http\RedirectResponse|\Illuminate\Routing\Redirector */ public function backAs() { if (\Session::has('admin-mail')) { $adminMail = \Session::get('admin-mail'); $user = $this->userRepository->skipCriteria() ->findWhere([ ['email', '=', $adminMail] ])->first(); \Auth::login($user); \Session::forget('admin-mail'); } else { flash()->error('Error!'); } return redirect(route('environment.index')); } /** * @param Request $request * @param $tenantId * @return \Illuminate\Foundation\Application|\Illuminate\Http\RedirectResponse|\Illuminate\Routing\Redirector * @throws \Exception */ public function loginFromCPanel(Request $request, $tenantId) { $check = $this->saasConfig->findByField('tenant_id', $tenantId)->first(); if ($check) { $credentials = $this->userRepository->userByRole('superadmin'); if ($credentials) { \Auth::login($credentials); $token = bin2hex(openssl_random_pseudo_bytes(64)); $logged = auth()->user(); $logged['login_token'] = $token; $logged->save(); \Session::set('login_token', $token); $date = Carbon::now(); $dateStr = $date->toDateTimeString(); \Session::set('start_time', $dateStr); $data['ip'] = Helpers::getIp(); $data['route_name'] = !empty(\Route::current()->getName()) ? \Route::current()->getName() : null; $data['url'] = $request->path(); $browserInfo = $this->infoService->browserInfo($request->header('User-Agent')); Login::create( [ 'login_token' => \Session::get('login_token'), 'user_id' => \Auth::user()->id, 'role_id' => \Auth::user()->roles()->first()->id, 'start' => $dateStr, 'end' => $dateStr, 'elapsed_minutes' => 0, 'IP' => $data['ip'], 'route_name' => $data['route_name'], 'url' => $data['url'], 'platform' => $browserInfo['platform'], 'user_agent' => $browserInfo['user_agent'] ] ); return redirect(route('index')); } } else { return redirect('/auth')->withErrors([ 'error' => $this->translator->get('messages.lblCredentialsNotFound'), ]); } } }
Copyright © 2026 - UnknownSec