Larravel Middleware (middleware) Set the login information (User Model) Author: Chuwen Time: 2022-06-29 Classification: Laravel , PHP comment The middleware sets the login information (User Model), and then uses the controller in other places ###UserAdminAuthGuard middleware ```php <? php namespace App\Http\Middleware; use Auth; use Closure; use App\Models\User; use Firebase\JWT\JWT; use Firebase\JWT\Key; use App\Libs\ResponseTool; use Illuminate\Http\Request; use Illuminate\Support\Facades\Redis; class UserAdminAuthGuard { /** * Handle an incoming request. * * @param \Illuminate\Http\Request $request * @param \Closure(\Illuminate\Http\Request): (\Illuminate\Http\Response|\Illuminate\Http\RedirectResponse) $next * @return \Illuminate\Http\Response|\Illuminate\Http\RedirectResponse */ public function handle(Request $request, Closure $next) { //Write the relevant logic you handled here // $token = 0; //Write the relevant logic you handled here //Save User Model Auth::login(User::where('token', $token)->firstOrFail()); return $next($request); } } ``` ###UserController - HTTP Controller ```php <? php class UserContoller { public function index(Request $request) { //Get user model information dump(Auth::user()); } } ```
Laravel controller test Author: Chuwen Time: 2022-06-02 Classification: Laravel , PHP comment ##The name of the new controller is ForExampleController.php ```php <? php namespace App\Http\Controllers; use Illuminate\Http\Request; class ForExampleController extends Controller { public function index(Request $request) { if ('nowtime.cc' !== $ request->get('domain')) { return response([ 'code' => 400, 'msg '=>' Bad parameter ', ]); } return response([ 'code' => 200, 'msg '=>' Verification passed ', ]); } } ``` ##Create a new test file named ForExampleControllerTest.php ```php <? php namespace Tests\Feature; use Tests\TestCase; use Illuminate\Foundation\Testing\WithFaker; use App\Http\Controllers\ForExampleController; use Illuminate\Foundation\Testing\RefreshDatabase; class ForExampleControllerTest extends TestCase { public function testIndex() { $request = \Request::create('/', 'GET', [ 'domain' => 'nowtime.cc', ]); $forExampleController = new ForExampleController(); $res = json_decode($forExampleController->index($request)->getContent(), true); self::assertEquals(200, $res['code']); } } ``` Run test results: ! []( https://cdn.nowtime.cc/2022/06/02/2598889823.png )