用户注册后的Laravel操作

用户注册后的Laravel操作,laravel,Laravel,在我的Laravel应用程序中,在新注册后,它会自动连接到此新帐户 我只需要注册并与实际的身份验证帐户保持联系。如何更改此默认设置 因为我正在使用管理员用户在应用程序中创建新帐户。 多谢各位 这是我的注册表控制器代码: use RegistersUsers; protected function redirectTo() { if(Auth::user()->is_admin == 1){ return 'persons'; } return '/persons'; } public

在我的Laravel应用程序中,在新注册后,它会自动连接到此新帐户

我只需要注册并与实际的身份验证帐户保持联系。如何更改此默认设置

因为我正在使用管理员用户在应用程序中创建新帐户。 多谢各位

这是我的注册表控制器代码:

 use RegistersUsers;
protected function redirectTo()
{
if(Auth::user()->is_admin == 1){
  return 'persons';
}
return '/persons';
}
public function __construct()
{
    $this->middleware('auth');
}
protected function validator(array $data)
{

    return Validator::make($data, [
        'name' => 'required|string|max:255',
        'email' => 'required|string|email|max:255|unique:users',
        'password' => 'required|string|min:6|confirmed',

    ]);
}
protected function create(array $data)
{
    return User::create([
        'name' => $data['name'],
        'email' => $data['email'],
        'password' => Hash::make($data['password']),
    ]);
}
在Registeruser.php中,我将函数register更改为

public function register(Request $request)
{
    $this->validator($request->all())->validate();

    event(new Registered($user = $this->create($request->all())));


    return $this->registered($request, $user)
                    ?: redirect($this->redirectPath());
}

请注意,我使用
person.blade.php
创建新用户,而不是
/register
在您的
应用程序/Http/Controllers/Auth/RegisterController
中创建新用户。您需要覆盖
registerusers
中的方法
register

public function register(Request $request)
{
    $this->validator($request->all())->validate();

    event(new Registered($user = $this->create($request->all())));

    $this->guard()->login($user);

    return $this->registered($request, $user)
                    ?: redirect($this->redirectPath());
}
此行:
$This->guard()->login($user)是用户登录的地方。您可以删除它或修改它以满足您的需要

现在,如果您想在注册后根据用户类型重定向到某个位置,则需要将
protected$redirectTo
替换为:

protected function redirectTo()
{
    //You would need to modify this according to your needs, this is just an example.
    if(Auth::user()->hasRole('admin')){
      return 'path';
    }

    if(Auth::user()->hasRole('regular_user')){
      return 'path';
    }

    return 'default_path';
}
在文件顶部,添加以下内容:

使用照亮\Http\Request;

使用Illumb\Auth\Events\Registered

在您的
应用程序/Http/Controllers/Auth/RegisterController
中,您需要从
注册表用户
覆盖方法
注册表

public function register(Request $request)
{
    $this->validator($request->all())->validate();

    event(new Registered($user = $this->create($request->all())));

    $this->guard()->login($user);

    return $this->registered($request, $user)
                    ?: redirect($this->redirectPath());
}
此行:
$This->guard()->login($user)是用户登录的地方。您可以删除它或修改它以满足您的需要

现在,如果您想在注册后根据用户类型重定向到某个位置,则需要将
protected$redirectTo
替换为:

protected function redirectTo()
{
    //You would need to modify this according to your needs, this is just an example.
    if(Auth::user()->hasRole('admin')){
      return 'path';
    }

    if(Auth::user()->hasRole('regular_user')){
      return 'path';
    }

    return 'default_path';
}
在文件顶部,添加以下内容:

使用照亮\Http\Request;

使用Illumb\Auth\Events\Registered

谢谢您的关注,先生,我删除了行$this->guard()->login($user);并改为直接功能。并且仍然会自动将日志记录到新用户中。在使用命令进行更改后尝试清理caché:
php artisan cache:clear
。哦,我忘了,您需要将此添加到控制器文件的顶部:
使用illumb\Http\Request;使用Illumb\Auth\Events\Registered如果不起作用,你可以发布你的代码吗?因为那应该会起作用。我为你发布了这篇文章。感谢您的关注谢谢您的关注,我删除了行$this->guard()->login($user);并改为直接功能。并且仍然会自动将日志记录到新用户中。在使用命令进行更改后尝试清理caché:
php artisan cache:clear
。哦,我忘了,您需要将此添加到控制器文件的顶部:
使用illumb\Http\Request;使用Illumb\Auth\Events\Registered如果不起作用,你可以发布你的代码吗?因为那应该会起作用。我为你发布了这篇文章。谢谢你的关心