问题标签 [laravel-authentication]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
8 回答
20168 浏览

laravel - 如何在不要求用户登录 Laravel 的情况下验证电子邮件

我正在开发一个 Laravel 应用程序。我的应用程序正在使用 Laravel 内置的身份验证功能。在用户注册时的 Laravel auth 中,会发送一封验证邮件。当用户验证电子邮件时,单击电子邮件内的链接,如果用户尚未登录,则用户必须再次登录以确认电子邮件。

验证控制器

我试着评论这条线。

但它不起作用,而是抛出一个错误。即使用户未登录,如何使 Laravel 能够验证电子邮件?

0 投票
1 回答
174 浏览

laravel - Laravel 基础 URL 无缘无故重定向到 /home

我正在学习 laravel,但我的基本 url 有问题,即http://localhost/.

它不断重定向到http://localhost/home哪个是基本身份验证路由,并且由于我没有登录,它会将我重定向到http://localhost/login.

我想http://localhost/重定向到http://localhost/blog/posts它应该的。

我这样做是因为将来基本 url 将重定向到另一个页面。在那之前,我想显示博客文章。

网页.php

家庭控制器.php

我希望我足够清楚,如果需要,我很乐意提供更多信息。

问题解决了:

$this->middleware('auth');在 HomeController.php 中注释或删除并将其添加到路由中:

0 投票
1 回答
50 浏览

laravel - 如何添加可以与 Auth() 函数链接的自定义函数?

文档auth()中所述,可以使用该函数代替Auth外观,返回一个身份验证器实例,并且可以像这样使用:

如您所见 - 我可以链接->check()or->guest()->id()or ->user()

是否可以添加一个也可以更改的新自定义功能?例如,somethingNew()可以这样使用:

0 投票
0 回答
424 浏览

php - 如何使用 Auth() 在 Laravel 中制作不同的注册页面

我是使用 Laravel 的新手。

我已经使用“$php artisan auth”进行授权,并且我已经向系统添加了一个角色表。现在我想为我的每个用户制作不同的注册页面,并且我遇到了如何管理具有角色 ID 的不同页面的路由的问题。

例如,我想要 StudentRegister.blade.php 页面。在此页面中,用户使用角色 id 1 注册,类似地在 TeacherRegister.blade.php 用户通过角色 id 2 在数据库中注册。

这是我的用户注册 auth() 代码

0 投票
2 回答
1540 浏览

php - 如何在 Laravel 5.7 的登录会话期间使用 Auth() 注册

我已将 Laravel 5.7 Auth() 的注册页面更改为 studentRegister 页面以注册新学生,但是当我通过其他用户登录时无法访问。当我在会话中时,该路线不起作用。但是,从一个会话中注销后它可以完美运行。

请建议我在登录时如何注册新学生。

studentRegister.blade.php

我也删除了 {{csrf}}。

0 投票
2 回答
10557 浏览

laravel - 传递给 App\Http\Controllers\Auth\LoginController::attemptLogin() 的参数 1 必须是 App\Http\Controllers\Auth\Request 的实例

我正在为身份验证添加 1 个属性,但它不起作用。除了

在我的 LoginController 中添加这 2 个方法

我想用户登录只是精确的 division_id 1

0 投票
1 回答
37 浏览

php - 如何在 laravel 5.7 中使用 auth() 创建新用户时关闭自动登录?

我正在制作一个项目,我想通过 Laravel auth() 创建用户,但不想让它在创建帐户时自动登录。我已将默认注册页面复制到 studentRegister 中,我想在他登录时通过管理员进行注册,我的代码如下:

我也删除了控制器中的保护功能,因此当一个用户已经登录时我可以使用它。

请告诉我如何做到这一点,我只是通过它创建用户,但用户会话不会从旧会话更改为新创建的会话。

0 投票
2 回答
3350 浏览

php - Laravel 5.6 - 如何使用同一文件夹 SPA 的会话对 API 进行身份验证?

我在同一个 Laravel 项目中有一个 React SPA。login/signup/logout 和所有其他 js 视图都在 js 文件夹中,并对所有POST/GET请求使用 axios api 调用。我想为嵌入式 SPA 使用默认的基于 Laravel 会话的 Web 身份验证,因为它位于同一个项目文件夹中,并且它将是唯一的访问它的 javascript 客户端。这个 api 不需要对公众开放,只是为了这个 react 应用程序,它是一个速度和良好用户体验的 SPA,而不是整页重新加载。

我之前尝试过使用Passport,但一个多月以来,我仍然无法让它按预期工作。我不想处理令牌、访问令牌、刷新令牌、撤销令牌、CSRF 等。只是开箱即用的简单的基于 Laravel 会话的身份验证,可以在 Web 上轻松运行,但希望它可以在我的 react 应用程序上运行。唯一的刀片文件是index.blade.php包含反应的app.js

知道我们如何做到这一点吗?

更新 1:

实施@ceejayoz 的建议后:

您必须将 app/Http/Kernel.php 中的各种 Session/Cookie 中间件(诸如 \Illuminate\Session\Middleware\StartSession::class 之类的东西)添加到 API 路由中。

我添加到$middlewareGroups.api以匹配web中间件app/Http/Kernel.php

我意识到发生了两个问题:

  1. 在sessions表中,即使没有登录,在加载app首页(或任意页面)时,也会将多个session插入到sessions表中。不应该仅在用户登录后才将新的单个会话插入此表吗?
  2. 用户登录后,在浏览器中手动刷新页面并调用受保护的路由时,我得到一个401 Unauthenticated指向此方法的Illuminate/Auth/GuardHelpers.php

    /li>

一些附加说明:

  • config/auth.php我更新了guards.api.drivertosession而不是token.
  • routes/api.php我将受保护的路由包裹在 auth 中间件中,如下所示:Route::group(['middleware' => 'auth'], function() { PRIVATE ROUTES HERE }
  • config/session.php我有'domain' => '.mydomain.com'
  • 我用每个 axios api 请求发回这些标头,如下所示:

    /li>

知道我们如何解决这两个问题吗?

0 投票
0 回答
45 浏览

php - 如何通过配置定义数据的路由来使 auth() 的不同页面注册页面

当我尝试打开 Studentregister 页面时,它会打开 auth() 的默认注册页面。

我是 Laravel 的新手,我遇到了语法问题……我只创建了一个与角色类有链接的用户类。(用户类是通过 $php artisan auth 生成的,并添加了 Role 类的外键。)

现在我想通过studentRegister.blade.php或teacherRegister.blade.php注册不同的用户,比如学生、老师。而且我必须将学生页面中的 role_id 修复为 1,将教师角色 id 修复为 2。那么语法是什么。

为学生注册和教师注册(web.php)创建了不同的路线..

添加角色变量并将其发送到视图(Auth/RegisterController.php)

带有“角色”名称的隐藏输入的设置值(Auth/Register.Blade.php);

更改 user.php 中的可填充变量,以便您可以填充角色字段。

为 RegisterController 上的 create 函数添加了角色

在 StudentRegister.blade.php 我添加了这个

在 TeacherRegister.blade.php 我添加了这个

0 投票
4 回答
14439 浏览

laravel - Laravel Auth 通过 id 手动登录

我是 laravel 的新手,我正在使用一种功能,我们在用户表中插入数据

DB::insert();

之后我得到最后一个ID

$user_id = DB::getPdo()->lastInsertId();

现在我希望用户在注册后登录,我正在尝试

Auth::loginUsingId($user_id);

但它让我觉得是假的。我也试过

它还返回 null $user。

请帮忙...