Php laravel 5.2注册后不登录用户
我正在建立一个系统,管理员可以添加用户。这就是说,我的Auth控制器看起来是这样的,它工作得很好,但是使用标准注册,用户在创建之后就可以登录了。显然,如果管理员添加了一个用户(另一个管理员或普通用户),管理员希望保持登录状态,而不是登录刚刚创建的用户。我如何做到这一点,我不必编辑任何库?如果我更新Laravel,将覆盖这些更改 AuthController.phpPhp laravel 5.2注册后不登录用户,php,laravel,Php,Laravel,我正在建立一个系统,管理员可以添加用户。这就是说,我的Auth控制器看起来是这样的,它工作得很好,但是使用标准注册,用户在创建之后就可以登录了。显然,如果管理员添加了一个用户(另一个管理员或普通用户),管理员希望保持登录状态,而不是登录刚刚创建的用户。我如何做到这一点,我不必编辑任何库?如果我更新Laravel,将覆盖这些更改 AuthController.php <?php namespace App\Http\Controllers\Auth; use App\User; use
<?php
namespace App\Http\Controllers\Auth;
use App\User;
use App\Role;
use Mail;
use Validator;
use App\Http\Controllers\Controller;
use Illuminate\Foundation\Auth\ThrottlesLogins;
use Illuminate\Foundation\Auth\AuthenticatesAndRegistersUsers;
use Illuminate\Http\Request;
use Intervention\Image\Facades\Image as Image;
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 = '/add';
/**
* 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, [
'first-name' => 'required|max:255',
'last-name' => 'required|max:255',
'phone' => 'required|max:255',
'form' => '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 )
{
//Create the user
$user = User::create([
'first_name' => $data['first-name'],
'last_name' => $data['last-name'],
'phone' => $data['phone'],
'email' => $data['email'],
'password' => bcrypt($data['password']),
]);
//Is it a User? Then give them that role
if ($data['user-role'] == 'user')
{
$role = Role::where('name', '=', 'user')->firstOrFail();
$user = User::find($user->id);
$user->roles()->attach($role->id);
}
//Is it an Admin? Then give them that role
if ($data['user-role'] == 'admin')
{
$role = Role::where('name', '=', 'owner')->firstOrFail();
$user = User::find($user->id);
$user->roles()->attach($role->id);
}
Mail::send('auth.emails.registered', ['user' => $user], function ($m) use ($user)
{
$m->to($user->email, $user->first_name)->subject('You Have Been Added');
});
return $user;
}
}
注册时使用的RegisterUsers特性会自动将用户记录在register()
方法中,但您可以在AuthController中安全地覆盖它,如下所示:
public function register(Request $request)
{
$validator = $this->validator($request->all());
if ($validator->fails()) {
$this->throwValidationException(
$request, $validator
);
}
$this->create($request->all());
return redirect($this->redirectPath());
}
尝试将return$user更改为return redirect('/');