我正在尝试使用.env
文件的标志来阻止我的主登录页面。
我不确定这是否是正确的方法。
在.env
我添加了
LOGIN_PAGE=true
然后在我的路线文件中
我添加,如果检查
if(env('LANDING_PAGE') == true){
Route::get('/',['as' => 'login', 'uses'=>'AuthController@getSignIn']);
Route::post('/', 'AuthController@postSignIn');
}
LOGIN_PAGE=fasle
我进入登录页面,找不到404页面,这是好的。
LOGIN_PAGE=true
我进入我的登录页面,我仍然找不到404页面,这是不好的。我应该看到我的登录页面。
我忘记了什么?怎么会去和#GOAL
我正在尝试使用.env
文件的标志来阻止我的主登录页面。
我不确定这是否是正确的方法。
在.env
我添加了
LOGIN_PAGE=true
然后在我的路线文件中
我添加,如果检查
if(env('LANDING_PAGE') == true){
Route::get('/',['as' => 'login', 'uses'=>'AuthController@getSignIn']);
Route::post('/', 'AuthController@postSignIn');
}
LOGIN_PAGE=fasle
我进入登录页面,找不到404页面,这是好的。
LOGIN_PAGE=true
我进入我的登录页面,我仍然找不到404页面,这是不好的。我应该看到我的登录页面。
我忘记了什么?只有当某个条件成立时,如何进行并启用某个路径访问?
任何提示/建议将不胜感激!
答案 0 :(得分:2)
您要问的最佳做法是定义一个可以在任何需要的地方重用的中间件:
php artisan make:middleware CheckIsLandingPage
然后定义中间件的逻辑
<?php
namespace App\Http\Middleware;
use Closure;
class CheckIsLAndingPage
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
// your logic here
if (env('LANDING_PAGE') == true) {
return redirect('somewhere');
}
return $next($request);
}
}
阅读Laravel文档中的更多内容: https://laravel.com/docs/5.1/middleware#defining-middleware
最新5.5中没有太大变化: https://laravel.com/docs/5.5/middleware#defining-middleware