我在auth中间件方面遇到了一些问题。我将中间件放在一个路由组中,并回滚了users表。我希望应用程序将我重定向到我的登录/搜索页面,但它没有这样做,它只是给了我“尝试获取非对象的属性”,它指的是我的仪表板视图中的Auth::user()
函数(我不应该访问该函数)。
这是我的路线代码:
Route::group(['prefix' => '/{username}/', 'middleware' => ['existing_user', 'auth']], function(){
Route::get('/dashboard', function(){
return view('dashboard');
});
});
以下是我的观点:
<h1>{{ Auth::user()->username }}</h1>
另外,我不确定从数据库中删除用户是否意味着Laravel将自动删除用户会话。
谢谢你的帮助!
用户会话可以通过清除浏览器的域缓存来删除(比如localhost)。
Laravel使用Auth类跟踪会话。由于会话同时在客户端和服务器端工作,因此必须从任一位置删除会话。客户端的删除是通过浏览器的cookie进行的,客户端的删除可以通过文件、数据库或Redis等进行。。。
因此,在这种情况下,从用户表中删除用户是没有意义的。从数据库中删除用户不会帮助Auth类知道不再有会话。实际上auth()-
希望这能让你的概念清晰一点:)
试图阻止来宾用户的路由。当有人点击时,它将检查用户是否以管理员身份登录。如果admin然后它工作正常,如果代理然后它重定向到登录页面,但如果我作为访客用户点击链接,它不会将我重定向到登录页面,而是显示一些错误: 路由中的错误异常。php第53行:尝试获取非对象的属性。 这是我的路线。php文件:
在不生成Laravel默认身份验证控制器的情况下,我创建了自己的登录和注册控制器。 我的路线是这样的 用于登录 登记 一切都很好。现在我需要一件事。每当我放置中间件时,一个未经身份验证的用户将被重定向到我的自定义登录页面路由到。 如何做到这一点?
我正在验证我的用户,并将其重定向到仪表板(如果凭据正确)。我想保护仪表板路由并添加中间件auth,但现在它总是重定向到登录页面。 路线。php HomeController.php 中间件Authenticate.php 中间件重定向已验证。php
我使用Laravel 5.2。我想问一个问题。如何更改重定向登录表单在laravel当我们已经做登录?我使用的是来自Php artisan make: auth的auth。 我已经登录并重定向到localhost:8000/admin 然后我再次打开localhost:8000/登录。它将重定向到“/”或localhost:8000/ 我的问题是如何将“/”更改为“/”管理员“?因此,即使我已经登
我的管理员控制器扩展了控制器类,在那里我使用方法加载视图页面并传递保护。config/auth.php也通过添加管理员保护和提供程序进行了修改。在app/Actions/Fortify文件夹中,我添加了AttemptToAuthenticate和ReDirectIfTwoFactorAuthenticate类,并更改了命名空间。我的管理员控制器还扩展了Guard。用户的重定向中间件和管理员的重定向
问题内容: 编辑:忘记提及我与AngularJs在一起仅一周了,因此,如果您看到某些东西,您认为应该做得更好,并且与问题无关,请随时在评论部分告诉我。 好的,所以我有我的身份验证控制器和提供程序,由于它们与问题范围无关,因此将不显示。然后,我有一个拦截器来检查拨打电话时用户是否已通过身份验证。如果是这样,我将请求的标头设置为包括用户的Token(如果没有),则将用户重定向到登录页面,甚至不向服务器