问题标签 [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.
laravel - Laravel MultiAuth 已登录,但将我视为访客
我创建了 MultiAuth,我现在可以使用我的新管理员身份验证登录。但问题是,由于我是访客,他将我重定向到 Auth 的正常登录页面。但我也以管理员身份登录。
当我使用普通身份验证登录时,它可以正常工作,
一些要测试的代码:
当我以普通用户登录时,它显示:
当我退出它显示的所有内容时:
当我使用管理员登录时,它显示:
当我使用管理员登录时,如何禁用/注销访客?
laravel - Laravel:如何确保用户在注册和登录后进入角色特定的主页视图?
我在 laravel-5.8 中为一个大学网站创建了一个自定义的多身份验证系统,每个用户都注册一个特定的角色:管理员、教师或 HOD(部门主管)。
我正在使用我们在运行后获得的控制器和视图
注册后,所有用户都将重定向到默认主页,无论其角色如何。这 3 个角色在用户表中存储为角色列下的 0、1 和 2。我修改了默认提供的用户表。
我的登录机制运行良好。用户被重定向到其角色的主页。这是我的做法:
登录控制器.php
这是来自login.blade.php的 POST 请求所使用的路由
但是每次我注册一个新用户时,它都会将用户带到教师主页路径,即使他们是管理员或 HOD。这是注册机制:
RegisterController.php (下面只展示相关函数)
我试图通过这样做使其正常工作:将变量更改redirectTo
为函数。//一个想法:替换“protected $redirectTo = '/home';” 经过...
但它不起作用,因为我似乎错过了一些东西。
另一个令人沮丧的是,用户登录后可以访问其他角色的主页。在middleware('auth')
我的路线中有助于防止在未登录时访问 URL,但它不会阻止已登录的用户访问其他主页。
以下是到主页的路线:
默认welcome.blade.php
也将登录的用户重定向到教师的主页:
- 如何确保用户在新注册和登录时访问正确的主页?
- 如何确保一个角色的主页无法访问其他角色?
编辑1:
合并@N69S 建议的更改后,发生了以下情况:
- 页面已成为特定角色。
- 一个角色无法访问另一个角色的页面,未经身份验证的用户无法查看除欢迎页面之外的任何页面。
该解决方案奏效了。但是当试图非法访问 URL 时,就会产生错误。但相反,用户被发送到欢迎页面。这个页面的右上角只有一个链接,叫做“HOME”。当管理员或 HOD 用户登录时,此链接不起作用,因为它路由到'/home'
如下所示:
如何更改此视图文件以将登录用户发送到其角色的 HOME?
laravel - Auth::attempt 返回 true,但重定向到其他页面并返回 guest
为什么我Auth::attempt
在刷新或重定向到另一个页面时返回 false?
下面是我的控制器;我正在使用 Laravel 5.8。我正在使用Auth::logingUsingId()
,它是一样的;如果刷新或重定向到另一个页面,则返回 false。
laravel - 在 GET 中或在 Laravel 中渲染视图时获取登录尝试次数
我正在使用 Laravel 开发一个 Web 应用程序。我现在要做的是尝试在 GET 或渲染视图中获取登录尝试次数。我可以在 LoginController 的 post 请求(validateLogin 方法)中获取登录尝试次数,如下所示。
问题是 validateLogin 方法有一个参数,Request $request。我喜欢做的是我喜欢在 LoginController 的 showLoginForm 方法中获取失败的登录尝试次数或尝试次数。我正在覆盖 showLoginForm 方法。我试过这个。
但它总是返回零。那么如何在 LoginController 的 GET 或 showLoginForm 方法中获取登录尝试次数呢?
php - Laravel 身份验证 - 不同表中的电子邮件
我有两张桌子:
人:
用户
您能否告诉我如何让 Laravel(5.8)内置的身份验证系统在验证用户身份时使用person表中的电子邮件字段?仅供参考,守卫提供者的价值必须是用户。
laravel - Laravel:表用户没有名为 updated_at 的列
我在用于身份验证的 laravel 'users' 表中将列名从 'updated_at' 更改为 'last_updated_at'。
现在我在注册过程中收到此错误:
SQLSTATE [HY000]:一般错误:1 表帐户没有名为 updated_at 的列(SQL:插入“帐户”(“用户名”、“电子邮件地址”、“密码”、“更新的_at”、“创建的_at”)值(... ))
如何让它使用新的列名?
laravel-5.7 - 尝试多用户身份验证,它一直说传递了错误的参数实例
我在尝试使用警卫登录多个用户并且无法理解需要传递的实例时遇到此错误:
这是我的身份验证控制器:
这是我的模型:
我尝试了许多在线/stackoverflow 提供的解决方案,但我不断收到此错误,如果您发现此问题有歧义,请在投反对票之前询问,我上次在这里尝试过。
laravel - 更改 Laravel auth 表名和列名
我想更改 laravel auth 表的表名和一些列名。
- 将表名从“用户”更改为“帐户”
- 将表列名称从“名称”更改为“用户名”
- 将表列名称从“email”更改为“email_addr”
- 将表列名称从“updated_at”更改为“last_updated_at”
在不破坏某些内容的情况下,我应该采取哪些步骤或编辑哪些代码?
我之前试过这个,注册成功了,但是登录没有。每当我尝试登录时,我都会被重定向回登录页面。
php - 如何将未经身份验证的用户重定向到登录视图
我正在制作一个需要用户和密码才能访问的应用程序。每个用户都应该面对登录视图。目前,手动编写 URL,我无需登录即可访问所有路由。我想要的是将每个未经身份验证的用户重定向到登录视图,以便他们在登录之前看不到其他任何内容。
登录控制器
路线