【发布时间】:2019-09-05 04:06:28
【问题描述】:
我正在构建一个 Laravel 5.5 应用程序,我使用默认的 make:Auth 进行身份验证,并添加了一个管理员角色(只需检查数据库中的 is_admin 列是否为真)我想通过以下方式修改登录过程根据用户是否是管理员来更改路线,我使用了文档中的代码,因此注释了 protected $redirectTo = '/home'; 行
并用函数替换它
public function redirectTo(){
// Code here
}
它工作正常,所以我开始做其他事情,然后当我再次尝试登录时,我被自动重定向到 /,所以我尝试修改我的代码,但无论我更改什么,我总是会被重定向到 / .
然后我选择回到protected $redirectTo = '/home';,即使这样我也被重定向到/,所以我停止了几个小时的工作。
回到它(我已经关闭了我的电脑),现在我被重定向到/home,所以我将它修改为重定向到/并且它工作了,但是当我再次输入我的函数时,它不起作用,即使我回到protected $redirectTo = '/home';而不是我的函数,仍然总是重定向到/。
所以关闭我的电脑并重新启动,同样的事情,它一开始可以工作,但经过两次更改后它就不再工作了。在另一台电脑上试过,同样的,工作了 2 次,然后在我重新启动之前就不再工作了。
对我来说,这看起来像是一个缓存问题,所以我制作了一个小脚本来执行以下操作
#!/bin/bash
php artisan optimize
php artisan cache:clear
php artisan route:cache
php artisan view:clear
php artisan config:cache
echo "Cache cleared!"
但这并没有解决问题,只有重新启动才能解决问题。
有人遇到同样的问题吗?
谢谢!
【问题讨论】:
-
向我们展示您的代码。
-
因此,回顾所有提交,似乎在
routes/web.php中评论Route::get('/', function () { return view('welcome'); });可能是问题所在,当我取消评论时,它看起来好像有效。
标签: redirect routes laravel-5.5