问题标签 [laravel-guard]
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 中同时启用 api 和 web 守卫
目前我可以使用 web 和 api 保护中的任何一个,有没有办法允许两者,以便 web 应用程序和 api 可以一起工作。
就像是
在不使用架构的情况下,这是一个需要更改架构的解决方案/解决方法,我不喜欢。此外,我不需要访问令牌进行注册,这个答案在做什么。
api.php
网页.php
配置/auth.php
更新
正如@apokryfos 所说,If you want both to work for both then yes. However, I think that's bad practice. API routes should only allow API authentication since web authentication usually uses the session which API routes don't use anyway. If I were you I'd take a step back and rethink my entire strategy.
我也不想让两者都工作,我只想让 api 和 web 应用程序同时工作,现在我可以使用它们中的任何一个。
Update2 正如@Lim Kean Phang 建议的 git 问题链接
我变了
expires_in 值,但现在我没有获得访问令牌。
api响应是
更新 3 添加了一个github问题,因为找不到任何可能的解决方案来使其工作。
laravel - 如何使用guard在laravel中验证和登录用户?
我正在尝试在 Laravel 5.8 中使用警卫进行身份验证。身份验证已通过,但不知何故它没有登录用户。
/owner/dashboard
当重定向到使用 过滤的路由时$this->middleware('owner')
,用户将被重定向到登录表单并收到登录失败的通知。是否Auth::guard('owner')->attempt($credentials)
仅在不登录用户的情况下进行身份验证?
php - 在 laravel 中创建一个简单的守卫
我正在尝试使用 Laravel 实现一个非常简单的身份验证机制。
我需要保护某些路由,以便可以从特定 IP 地址查看它们。
我想做这个:
我怎样才能用警卫来实现这一点?
php - Laravel 在不受保护的路由中获取用户 ID
我Laravel guard
用来保护路线,现在我想让用户id
进入不受保护的(普通)路线,例如:
受保护:
/轮廓
无保护:
/搜索
我能够在受保护的路由中获取用户 ID,例如 ProfileController.php,如下所示:
但我想在 searchController.php 中得到它,但它返回 null,知道吗?
api.php:
另一方面,当用户登录并打开搜索页面时,我想获取用户 ID。
laravel - Laravel 5.8 Multiple middlewares using guards and specific options for each guard
I have a laravel application that allows both admins and customers to gain access to it and for each one of them will have specific permissions using 2 separated tables for each type of user to auth and 2 different guards. what I need now is to give customers access specific methods inside the controller and the admin have access to all methods.
but it works fine for the client and it's not working for the admin
php - Laravel loginUsingId() 不记得新页面上的登录状态
我正在尝试将 Socialite 集成到我的 laravel 网络应用程序中。
当我尝试使用 loginUsingId() 使用 FB ID 登录时,它使用户登录并按预期重定向到主页,但是当我访问同一域上的其他页面时,它忘记了用户每次都在登录并显示登录和注册按钮。不知道为什么会在这里发生,我的默认登录系统工作正常。
我正在为 laravel 社交名流使用以下代码
有什么帮助吗?谢谢
laravel - 当我使用 admin Guard 登录时,如何使用名称路由提交表单?
我使用使用警卫的多重身份验证,我坚持使用资源控制器的路由
我在不同的命名空间中有两个同名的不同控制器
现在我有管理员表格
当我提交此表单时,它会重定向到供应商商店的控制器。
问:当我使用 admin Guard 登录时,如何使用 **name 路由向 admin 命名空间的 HomeController 提交表单?**
php - Laravel 多重保护认证失败
我正在创建一个有多个警卫的 Laravel 网站。我的目标是能够使用会话和用户 API使用护照以管理员、员工和用户身份登录。一切正常。但是,我无法以Employee身份登录。
这是 git 仓库。请检查员工分支机构和数据库播种机。 Git 回购
我将在这里分享步骤和代码以找出问题所在:
- 我创建了必要的守卫、提供者和密码代理
- 我更新了 Employee 模型
- 我更新了 RedirectIfAuthenticated 和 Authenticate 中间件
- 我创建了必要的路由和控制器
这是所有这些代码:
这是config/auth.php文件,我有 4 个守卫网络、api、管理员和员工以及他们的提供者和密码代理:
这是Employee.php模型:
这是App\Http\Middleware中的RedirectIfAuthenticated.php类:
这是App\Http\Middleware中的Authenticate.php类:
以下是员工路线:
最后是App\Http\Controllers\Auth\Employee\LoginController.php:
问题是:
在登录函数中,尝试函数返回 true,但重定向使我返回登录页面,这意味着在其构造函数中具有中间件auth:employee的 Employee/HomeController.php 将我踢出并返回到Authenticate中间件这反过来又让我回到员工登录页面。
我检查了:
在 LoginController 的 if 语句中,如下:
-- dd(Auth::guard('employee')->check()); 它返回真实。
-- dd(Auth::guard('employee')->user()); 它返回:
我仍然找不到问题所在..任何帮助。谢谢你。
laravel - 为什么自定义守卫在页面重新加载/重定向时被注销?
我为登录自定义类型的用户创建了一个新的守卫。我可以使用 登录用户Auth::attempt('webguest')
,但登录不会在页面重新加载后持续存在。它仅在我使用web
-guard 时有效。例如,请参阅我的两条测试路线:
我的定制后卫:
config/auth.php
Guest 和 User 模型都扩展了Illuminate\Foundation\Auth\User as Authenticatable
.
我怎样才能让自定义守卫的登录像守卫一样持续存在web
?
php - 谷歌的 Laravel 身份验证不适用于警卫
我一直在使用具有多个保护身份验证的 Laravel 项目。我的一个守卫名字是“客户”。只有客户可以使用他们的 Google 帐户登录。以前我使用 Laravel 默认用户模型作为客户帐户,并且在使用 Google 帐户登录时工作正常。现在,为了使我的客户帐户分开,我创建了一个新的客户模型并将我所有的东西转移到那个模型上。一切正常,但在使用 Google 帐户登录时,它会创建一个包含所有数据的新客户行,但未登录到仪表板。我正在为客户使用中间件。由于它未登录中间件,因此无法访问仪表板。下面是我的代码。让我知道是否有人可以提供帮助。
客户模型
客户迁移文件
配置/Auth.php
谷歌控制器.php
网页.php
我认为问题出在 GoogleController
上述代码不起作用。谁能帮帮我>?
更新:下面添加中间件代码