Auth::routes(['register' => false]);不能在 laravel 8 中工作
Posted
技术标签:
【中文标题】Auth::routes([\'register\' => false]);不能在 laravel 8 中工作【英文标题】:Auth::routes(['register' => false]); not working in laravel 8Auth::routes(['register' => false]);不能在 laravel 8 中工作 【发布时间】:2021-01-03 05:06:15 【问题描述】:最近我安装了 laravel 8。我试图禁用注册。 在 laravel 7 “Auth::routes(['register' => false]);”是工作。 但是 laravel 8 它不起作用。
【问题讨论】:
默认情况下,Laravel 没有这些东西,它是一个单独的包,它是laravel/ui
...所以它不会在默认安装中出现,在 7 中你也有安装那个包......在 laravel 8 中,他们希望你使用 jetstream,但无论如何它都不像 laravel/ui
【参考方案1】:
要在 Laravel 8 中禁用注册,请删除 Features::registration()
行或注释掉 app/config/fortify.php
文件中的 Feature
'features' => [
// Features::registration(),
Features::resetPasswords(),
// Features::emailVerification(),
Features::updateProfileInformation(),
Features::updatePasswords(),
Features::twoFactorAuthentication([
'confirmPassword' => true,
]),
],
【讨论】:
config 文件夹中不存在此文件,我已安装 laravel 8.x 我认为我们需要安装这个才能使这个答案起作用:laravel.com/docs/8.x/fortify【参考方案2】:你可以试试这个对我有用。
在Auth::routes()
下方添加这些路由以覆盖默认注册路由。对/register
路由的任何请求都会重定向到baseUrl。
Route::match(['get', 'post'], 'register', function()
return redirect('/');
);
【讨论】:
【参考方案3】:对于 Laravel 微风。 只需在 routes/auth.php 中删除或注释此行
Route::get('/register', [RegisteredUserController::class, 'create'])
->middleware('guest')
->name('register');
Route::post('/register', [RegisteredUserController::class, 'store'])
->middleware('guest');
【讨论】:
【参考方案4】:将此添加到您的路线中
Route::match(['get', 'post'], 'register', function ()
abort(404);
);
【讨论】:
以上是关于Auth::routes(['register' => false]);不能在 laravel 8 中工作的主要内容,如果未能解决你的问题,请参考以下文章
laravel auth routes 问题:登录和注册链接不起作用