[英]Laravel 5.2 - middleware auth
我剛剛安裝了 Laravel 5.2,並創建了身份驗證注冊、登錄和重置密碼,但現在我想創建我的項目的索引,所有用戶(也未登錄)都可以訪問該索引。 我試着創造
Route::get('/',HomeController@home');
但此視圖僅對登錄的用戶啟用。
我的路線
Route::auth();
Route::get('/home', 'HomeController@index');
// POST - FORM CREA
Route::get('/crea-regalo', 'PostController@form');
Route::post('/crea-regalo', 'PostController@creaPost');
// LISTA ANNUNCI PRINCIPALE
Route::get('/', 'HomeController@home');
我的家庭控制器
class HomeController extends Controller
{
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct()
{
$this->middleware('auth');
}
/**
* Show the application dashboard.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
$posts = Post::orderBy('id','DESC');
return view('home', compact('posts'));
}
public function home()
{
$posts = Post::all();
return view('index', compact('posts'));
}
}
如何創建所有用戶都可以訪問的視圖路徑?
感謝您的幫助!
嗨,編寫單獨的控制器來訪問所有人的頁面,因為您已經在構造函數中編寫了身份驗證中間件
public function __construct()
{
$this->middleware('auth');
}
類似的喜歡
class GuestController extends Controller
{
public function __construct()
{
}
public function home()
{
$posts = Post::all();
return view('index', compact('posts'));
}
}
途中
Route::get('/home', 'GuestController@home');
否則你可以這樣做
$this->middleware('auth', ['except' => ['home']]);
這將能夠訪問所有人的主頁。在你的構造函數中添加這個
public function __construct()
{
$this->middleware('auth', ['except' => ['home']]);
}
將您希望僅允許經過身份驗證的用戶的路由放入中間件身份驗證中,如下所示:
Route::group(['middleware' => ['auth']], function () {
//your routes
})
對於所有用戶都可以訪問的路由,將其放在上述組之外。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.