Authentication 成功身份验证后无法检索Laravel 5用户
我正在使用Laravel5.1并尝试实现用户身份验证。基本上,没有登录,任何路线都不能进入。 内置特征(Authentication 成功身份验证后无法检索Laravel 5用户,authentication,laravel-5,Authentication,Laravel 5,我正在使用Laravel5.1并尝试实现用户身份验证。基本上,没有登录,任何路线都不能进入。 内置特征(AuthenticatesAndRegistersUsers)无法正常工作,因为在成功验证后,重定向控制器将无法通过Auth::user()或$this->Auth->user或$request->user()拉出用户 我确实在$this->auth->trunt()之后通过var转储用户验证了这是一次成功的尝试 但是,在使用return redirect()->designed(…)进行重定
AuthenticatesAndRegistersUsers
)无法正常工作,因为在成功验证后,重定向控制器将无法通过Auth::user()
或$this->Auth->user
或$request->user()
拉出用户
我确实在$this->auth->trunt()
之后通过var转储用户验证了这是一次成功的尝试
但是,在使用return redirect()->designed(…)
进行重定向后,无法提取任何用户
我现在试图通过跳过AuthenticatesAndRegistersUsers
并直接将其写入AuthController
来实现它,但再次遇到同样的问题
这是AuthController
中执行验证的部分:
$this->validate($request, [
'email' => 'required|email',
'password' => 'required',
]);
$credentials = $request->only('email', 'password');
//attempt to authenticate
//if successful, redirect to the intended url or the default redirectPath
if ($this->auth->attempt($credentials, $request->has('remember')))
{
//when I do dd($this->auth->user()) here it shows the correct user record
return redirect()->intended($this->redirectPath);
}
它重定向到正确的url(HomeController
),但随后无法检索用户(在show
方法或任何其他方法中):
HomeController
扩展了使用auth
中间件的myBaseController
public function __construct()
{
$this->middleware('auth');
}
我有Laravel4自定义身份验证,一切都很好,我对Laravel5中的中间件身份验证概念还是新手
任何帮助都将不胜感激。如何使用Laravel 5.1中的内置身份验证
Laravel5.1具有内置的身份验证功能,几乎可以开箱即用
要做的步骤很少,因此您将能够在Laravel5.1中使用漂亮的默认内置身份验证模板。所以你不需要再像Laravel4.0那样发明轮子了
1-安装Laravel的新副本(如下所示)我只需使用此命令即可完成
composer创建项目laravel/laravel——首选dist
2-在视图resources\views\auth
中创建auth
文件夹,并将所有资源文件从
3-在public
文件夹中创建css
和font
文件夹,并从资源中复制这两个文件夹的内容
4-更新您的路线文件,如下所示
Route::controllers([
'auth' => 'Auth\AuthController',
'password' => 'Auth\PasswordController',
]);
关于
5-在MySQL中创建空数据库
6-使用数据库信息等更新.env
文件
7-运行php artisan迁移
8-进入浏览器并写入http://YourLaravelHostProject/auth/register
9-(可选)如果您想在登录/注册过程后更改/home
登录页,请在app\Http\Controllers\Auth
中编辑AuthController.php
:
在这条线之后
use AuthenticatesAndRegistersUsers, ThrottlesLogins;
将代码添加到您的位置
//forward after login
protected $redirectPath = '/YourLocation';
就是这样。现在,默认的登录/注册/重置密码模板开始工作。您可以修改它以供进一步使用
php artisan迁移结果
登录页面的浏览器快照
也可以通过遵循Laravel文档制作更简单的身份验证模板
Laravel身份验证文档
Yani您不需要像Laravel 4那样实现,它具有内置身份验证,您可以使用。我会把答案填好。但是,使用内置的Laravel 5功能会导致错误。可能是移民问题。目前,如果我尝试你的建议,我会得到无法重新声明class illumed\Container\BindingResolutionException
错误,我检查了1000次,但只减速了一次。我将尝试安装一个新的laravel项目。是的,我认为这应该会有帮助,你可能在这期间做了一些事情。我还遇到了另一个迁移问题,与artisan命令失败有关,因此我认为最好重新安装。我可能从4.2开始就搞砸了。将在安装后重试。我已使用正确的步骤更新了答案,以便您可以使用登录模板。让我知道plsAny process@Yani,丹麦已经很晚了,现在要睡觉了,希望一切都按计划进行:)砰的一声,问题也来了。戈尼特。
//forward after login
protected $redirectPath = '/YourLocation';