2016-11-26 126 views
1

你好我正在使用Laravel 5.2版本。我通过作曲家安装了laravel项目。之后,我使用命令“php artisan make:auth”创建auth。创建验证路由后,会生成例如http://localhost:8000/login。现在我不想要这条路线,我想设置不同的路线,例如http://localhost:8000/super/admin。那么如何将http://localhost:8000/login更改为http://localhost:8000/super/admin。当时间验证生成/注册路由是创建,使我想要删除的路线http://localhost:8000/register路线。请告诉我如何做到这一点。 在此先感谢。如何更改Laravel 5.2更改登录路径?

回答

2

遵循以下简单步骤

如果您在routes.phpRoute::auth(),那么请删除了这一行。

现在以下行添加到您的routes.php

Route::get('super/admin', 'Auth\[email protected]')->name('auth.login.get'); 
Route::post('super/admin', 'Auth\[email protected]')->name('auth.login.post'); 
Route::get('super/admin/logout', 'Auth\[email protected]')->name('auth.logout.get'); 

然后去login.blade.php

(在资源 - >则须─>权威性最有可能),并更改表单动作{{ route('auth.login.post') }},像这...

<form action="{{ route('auth.login.post') }}" method="post"> 

希望这回答一切:)

+0

如果我在我的routes.php中删除Route :: auth()所以所有控制器我的身份验证工作与否。删除Route :: auth()后,我必须为我的项目创建自定义身份验证? –

+0

@dhanashri我也加了注销路线。不,你不必使用自定义Auth ...在这里使用'php artisan make:auth'之后创建的AuthController ....现在不需要任何东西。一切应该按预期工作...并且注册链接也将无法工作:) – prateekkathal

+0

非常感谢你:) –

0

App\Http\Controllers\Auth\LoginController - 定义名为showLoginForm()一机能的研究为:

public function showLoginForm() 
{ 
    $view = property_exists($this, 'loginView') 
     ? $this->loginView : 'auth.authenticate'; 

    if (view()->exists($view)) { 
     return view($view); 
    } 
    return view('auth.login'); 
} 

它覆盖在性状中定义的功能showLoginForm Illuminate\Foundation\Auth\AuthenticatesUsers.

注意:在Laravel 5.3功能名称从getLogin改变showLoginForm。 详情转到 Illuminate\Foundation\Auth\AuthenticatesUsers.

0

在routes文件,而不是使用默认的Route::auth(),你必须自己注册的路由。我的建议是运行php artisan route:list。这将显示默认路由及其各自的控制器(和方法)。然后,删除Route::auth()并手动实施您想要的路线。

因此,举例来说,如果你想改变登录网址,你必须把它定义为: Route::get('super/admin', 'App\Http\Controllers\Auth\[email protected]');

这样做对所有要替换的路由。通过删除Route::auth(),您将删除注册路由。

+0

如果我删除Route :: auth()然后所有项目我必须创建自定义auth? –

+0

不,只需参考现有的控制器。例如,所有的'Route :: auth()'都是声明'Route :: get('login','App \ Http \ Controllers \ Auth \ AuthController @ showLoginForm');'为你。通过删除它,并明确 –