我目前在登录页面后面有/仪表板路由,登录后会将您带到管理面板。
Route::get('dashboard', ['middleware' => 'auth', function()
{
return view('dash.dashboard');
}]);
这很好用。但是如果没有登录,我无法弄清楚如何阻止访问管理面板中的所有链接。如何阻止所有仪表板/ {}路由? 请注意 - 我还在学习laravel。
答案 0 :(得分:2)
您可以使用Route :: group()来包装所有管理路由并使它们使用auth中间件,例如:
Route::group(['middleware' => ['foo', 'bar']], function()
{
Route::get('/', function()
{
// Has Foo And Bar Middleware
});
Route::get('user/profile', function()
{
// Has Foo And Bar Middleware
});
});
中查看更多内容
答案 1 :(得分:1)
你可以做的是,你可以创建一个控制器,让我们说DashboardController
并创建一个路线,如下所示:
$router->get('dashboard', 'DashboardController@index');
// calling the index function of your DashboardController
在DashboardController
中,在构造函数中执行此操作:
class DashboardController extends BaseController
{
public function __construct()
{
$this->middleware('auth');
}
public function index()
{
return view('dash.dashboard');
}
}
在此控制器中创建其他函数,因此每次调用此控制器中的函数时,它都会检查auth中间件。这是一个很好的方法。
另一种方法是使用路线组。
$router->group(['middleware' => 'auth'], function() {
$router->get('dashboard', function(){
return view('dash.dashboard');
});
});