回答
代碼:
Auth::routes();
其對這個集合路線的shorcut:
// Authentication Routes...
Route::get('login', 'Auth\[email protected]')->name('login');
Route::post('login', 'Auth\[email protected]');
Route::post('logout', 'Auth\[email protected]')->name('logout');
// Registration Routes...
Route::get('register', 'Auth\[email protected]')->name('register');
Route::post('register', 'Auth\[email protected]');
// Password Reset Routes...
Route::get('password/reset', 'Auth\[email protected]')->name('password.request');
Route::post('password/email', 'Auth\[email protected]')->name('password.email');
Route::get('password/reset/{token}', 'Auth\[email protected]')->name('password.reset');
Route::post('password/reset', 'Auth\[email protected]');
所以,你可以代替先用路由列表和註釋掉你沒有任何途徑想要在你的應用程序中
是的,有一種方法
Auth::routes();
遠程從你的路由目錄中的web.php這條路線。
該路由控制註冊。
我想你想限制訪問某些頁面的訪客,只有管理員可以註冊一個訪客。您可以通過添加您自己的中間件上kernel.php文件象下面這樣實現它:
protected $routeMiddleware = [
'authenticated' => \App\Http\Middleware\AuthenticatedMiddleware::class
];
創建中間件之後,你必須使用它,所以你可以去web.php文件在您的路線是將其添加到路線要限制象下面這樣:
Route::get('register', 'Auth\[email protected]')->name('register')->middleware('authenticated');
Route::post('register', 'Auth\[email protected]')->middleware('authenticated');
這樣的註冊僅限於客人,但如果他想註冊一些其它管理員管理員仍然能夠訪問該頁面!
不要忘了如下的詳細清單,以取代Auth::routes();
:
// Authentication Routes...
Route::get('login', 'Auth\[email protected]')->name('login');
Route::post('login', 'Auth\[email protected]');
Route::post('logout', 'Auth\[email protected]')->name('logout');
// Registration Routes...
Route::get('register', 'Auth\[email protected]')->name('register')->middleware('authenticated');
Route::post('register', 'Auth\[email protected]')->middleware('authenticated');
// Password Reset Routes...
Route::get('password/reset', 'Auth\[email protected]')->name('password.request');
Route::post('password/email', 'Auth\[email protected]')->name('password.email');
Route::get('password/reset/{token}', 'Auth\[email protected]')->name('password.reset');
Route::post('password/reset', 'Auth\[email protected]');
更改路線:
供應商\ laravel \框架的\ src \照亮\路由\路由器。 PHP
public function auth()
{
// Authentication Routes...
$this->get('login', 'Auth\[email protected]')->name('login');
$this->post('login', 'Auth\[email protected]');
$this->post('logout', 'Auth\[email protected]')->name('logout');
// Registration Routes...
//$this->get('register', 'Auth\[email protected]')->name('register');
//$this->post('register', 'Auth\[email protected]');
// Password Reset Routes...
//$this->get('password/reset', 'Auth\[email protected]')->name('password.request');
//$this->post('password/email', 'Auth\[email protected]')->name('password.email');
//$this->get('password/reset/{token}', 'Auth\[email protected]')->name('password.reset');
//$this->post('password/reset', 'Auth\[email protected]');
}
對供應商文件夾中的任何文件進行更改是最糟糕的主意 –
重命名RegisterController任何其他南e或刪除它:-)
這看起來很容易!您只需要覆蓋app/Http/Controllers/Auth/RegisterController.php
類中的兩種方法。請參閱下文,這將阻止顯示錶單,並且最重要的是阻止直接POST請求到您的註冊申請。
/**
* Show the application registration form.
*
* @return \Illuminate\Http\Response
*/
public function showRegistrationForm()
{
return redirect('login');
}
/**
* Handle a registration request for the application.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function register(Request $request)
{
abort(404);
}
雖然上述解決方案的工作,但是,我想改變在App\Http\Controllers\Auth\RegisterController
的middleware
到'auth'
將是最簡單的解決方案之一。如果他們想訪問任何註冊路線,這將把所有訪客重定向到登錄頁面。就像這樣:
namespace App\Http\Controllers\Auth;
class RegisterController extends Controller
{
public function __construct()
{
$this->middleware('auth');
}
- 1. Laravel 5.4 - 路由不存在
- 2. Laravel 5.4 API路由
- 3. 用戶路由Laravel 5.4
- 4. Laravel 5.4路由通配符
- 5. Laravel 5.4 Auth API路由
- 6. 路由排除laravel 5.4
- 7. 路由在Laravel中不起作用5.4
- 8. 路由用戶角色Laravel 5.4
- 9. MVC寄存器路由在.Net
- 10. Laravel 5.4:使用參數調用控制器的路由功能
- 11. Laravel 5.4 - 將AuthServiceProvider綁定到路由組?
- 12. Laravel 5.4路由與要求,而params
- 13. Laravel 5.4:阿比路由列表
- 14. Laravel 5.4中的路由操作方法
- 15. Laravel 5.4 null csrf_token()發佈到路由
- 16. laravel 5.4路由組重定向
- 17. Laravel 5.4:如何在控制器中不使用路由參數
- 18. 如何在Laravel 5.4中使用Aimeos Laravel包作爲localhost路由?
- 19. 禁用angular2路由緩存
- 20. Laravel 5.4沒有在獲取路由器中設置默認ID
- 21. 如何禁用ReactJs的laravel路由
- 22. 爲特定文件夾/路由禁用Laravel路由
- 23. GCC:禁止使用一些寄存器
- 24. 的寄存器
- 25. Laravel 5.4:翻譯路線
- 26. Laravel 5.4路徑輸入後
- 27. 禁用路由
- 28. Laravel 5.4存取器不工作
- 29. Laravel路由到控制器
- 30. Laravel - 無路由控制器
downvoters這個答案並不完全錯了,其只對了一半 –
如果你這樣做,你會禁用登錄方法也一樣,所以這個答案是錯的! – user2519032