简体   繁体   English

使用身份验证中间件时,它会将我重定向到主页

[英]When using auth middleware, its redirecting me to home page

I am new in laravel app development. 我是laravel应用开发的新手。 When I am using auth middleware , then it works fine for unregistered user(redirecting to login page). 当我使用auth middleware ,它适用于未注册的用户(重定向到登录页面)。 But when logged user going to visit that page, then its redirecting to home page (root directory). 但是,当登录的用户要访问该页面时,它将重定向到主页(根目录)。

below the route from routes.php code is 在来自routes.php代码的路由下面是

Route::group(['middleware' => 'auth'], function () {
    Route::resource('/edit', 'userController@edit');
});

Below my userController.php code is 在我的userController.php代码下面是

<?php
 namespace App\Http\Controllers;
 use Illuminate\Http\Request;
 use App\Http\Requests;
 use App\allUsers;
 class userController extends Controller
 {
     public function index(){
     }

     public function show($id){
     }

     public function edit(){
         return view('auth.user_edit');
     }
  }

Below my authController code is 在我的authController代码下面是

<?php

 namespace App\Http\Controllers\Auth;

 use App\User;
 use Validator;
 use App\Http\Controllers\Controller;
 use Illuminate\Foundation\Auth\ThrottlesLogins;
 use Illuminate\Foundation\Auth\AuthenticatesAndRegistersUsers;

class AuthController extends Controller
 {
 /*
     |--------------------------------------------------------------------------
| Registration & Login Controller
|--------------------------------------------------------------------------
|
| This controller handles the registration of new users, as well as the
| authentication of existing users. By default, this controller uses
| a simple trait to add these behaviors. Why don't you explore it?
|
*/

use AuthenticatesAndRegistersUsers, ThrottlesLogins;

/**
 * Where to redirect users after login / registration.
 *
 * @var string
 */
protected $redirectTo = '/dashboard';

/**
 * Create a new authentication controller instance.
 *
 * @return void
 */
public function __construct()
{
    $this->middleware($this->guestMiddleware(), ['except' => 'logout']);
}

/**
 * Get a validator for an incoming registration request.
 *
 * @param  array  $data
 * @return \Illuminate\Contracts\Validation\Validator
 */
protected function validator(array $data)
{
    return Validator::make($data, [
        'name' => 'required|max:255',
        'email' => 'required|email|max:255|unique:users',
        'password' => 'required|min:6|confirmed',
    ]);
}

/**
 * Create a new user instance after a valid registration.
 *
 * @param  array  $data
 * @return User
 */
protected function create(array $data)
{
    return User::create([
        'name' => $data['name'],
        'email' => $data['email'],
        'password' => bcrypt($data['password']),
    ]);
}
}

Anyone help me please. 任何人都可以帮助我。

You can overwrite the $redirectTo variable in your AuthController: 您可以在AuthController中覆盖$ redirectTo变量:

/**
 * Where to redirect users after login / registration.
 *
 * @var string
 */
protected $redirectTo = '/dashboard';

Update: 更新:

Try Changing your route: 尝试更改路线:

Route::group(['middleware' => 'auth'], function () {
    Route::get('edit', 'userController@edit');
});

Route::resource creates all CRUD routes for your automatically. Route :: resource自动为您创建所有CRUD路由。

https://laravel.com/docs/5.1/controllers#restful-resource-controllers https://laravel.com/docs/5.1/controllers#restful-resource-controllers

Yes Problem solved. 是的,问题解决了。 Just changed the route 刚刚改变路线

Route::group(['middleware' => ['web', 'auth']], function () {
     Route::get('/edit', 'userController@edit');
});

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

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