繁体   English   中英

为什么我被路由到登录表单而不是我指定的路由 - Laravel

[英]Why am I routed to login form rather than the route that I specified - Laravel

我有一个自定义的 Laravel 登录 controller。如果我在特定表中没有记录,我想重定向到 selfRegister 页面。 登录 function 获取检查此记录的代码,但未能找到它。 然后我做了一个重定向,但我没有在我的 userController 上自行注册 function,而是回到了登录表单,我不知道为什么。

web.php

<?php

use Illuminate\Support\Facades\Route;

use App\Http\Controllers\ActivityController;
use App\Http\Controllers\NoteController;
use App\Http\Controllers\AdminController;
use App\Http\Controllers\GetNameController;
use App\Http\Controllers\UserController;


/*
  |--------------------------------------------------------------------------
  | Web Routes
  |--------------------------------------------------------------------------
  |
  | Here is where you can register web routes for your application. These
  | routes are loaded by the RouteServiceProvider within a group which
  | contains the "web" middleware group. Now create something great!
  |
 */

Auth::routes();

Route::any('/user/selfregister',[UserController::class, 'selfRegister'])->name('selfRegister');

Route::group(['middleware' => 'auth'], function () {
    
    Route::any('/user/profile', [UserController::class, 'profile']);
.
.
.

从登录控制器

public function login(Request $request)
{
    if($this->validateLogin($request)){
        return $this->sendFailedLoginResponse($request);
    }
    
    $req = $request->all();
    $app_acc = New Application_access();
    $app_acc->user_name = $req['user_name'];
    $app_acc->access_date = date('Y-m-d h:i:s');
    if ($this->attemptLogin($request)) { 
        echo('logged in 1<br>');
        $app_acc->access_disposition = 'login';
        $app_acc->save();
        $reset_p = New Reset_password();
        echo('logged in 2<br>');
        if($reset_p->buildReset(Auth::user()->user_contact_id)){
            $user = Users::find(auth()->user()->user_contact_id);               
            $user->activated = 0;
            $user->save();
            return redirect('/user/passwordupdate');
        };
            
        return $this->sendLoginResponse($request);
    } else {
        // login failed
        // ******
        // check if user is in the contact table
        
        $contact = DB::table('contacts_t')->select('*')
            ->where('con_email',"=",$req['user_name'])
            ->first();
            
        if (!$contact) {
            // if we did not find the contact then redirect to self register
            return redirect()->route('selfRegister');
            //return redirect()->route('/user/selfregister');
        }       
        return $this->sendLoginResponse($request);
    }
    
    return $this->sendFailedLoginResponse($request);        
    
}

从用户控制器

    public function selfRegister() {
        die('selfRegister');
.
.
.

来自 Login.blade.php

.
.
.
                <div class="centerLogin">
                    <form enctype="multipart/form-data" method="POST" action="{{ route('login') }}">
                        @csrf
                        <div class="form-group row mt-3"> 
.
.
.
    <?php

use Illuminate\Support\Facades\Route;

use App\Http\Controllers\ActivityController;
use App\Http\Controllers\NoteController;
use App\Http\Controllers\AdminController;
use App\Http\Controllers\GetNameController;
use App\Http\Controllers\UserController;


/*
  |--------------------------------------------------------------------------
  | Web Routes
  |--------------------------------------------------------------------------
  |
  | Here is where you can register web routes for your application. These
  | routes are loaded by the RouteServiceProvider within a group which
  | contains the "web" middleware group. Now create something great!
  |
 */

Route::get('/user/selfregister',[UserController::class, 'selfRegister'])->name('selfRegister');


Auth::routes();


Route::group(['middleware' => 'auth'], function () {
    
    Route::any('/user/profile', [UserController::class, 'profile']);
.
.
.

像这样尝试。 在 Auth::routes(); 之前移动你的路线; 并改变它得到。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM