Laravelの正規登録方法を無効にしたいのは、管理者だけが登録/管理/編集ができるためです。
しかし、私はそれを行う方法を知っていないし、どこから始める。Laravel 5.4のデフォルトのレジスタを削除して管理者に手作業で行う方法
おかげで
編集:
I'amちょうどデフォルトのレジスタを無効にする方法を求めて、だけでなく、コントロールパネルの管理手動レジストのユーザーを作成する方法はありません。
Laravelの正規登録方法を無効にしたいのは、管理者だけが登録/管理/編集ができるためです。
しかし、私はそれを行う方法を知っていないし、どこから始める。Laravel 5.4のデフォルトのレジスタを削除して管理者に手作業で行う方法
おかげで
編集:
I'amちょうどデフォルトのレジスタを無効にする方法を求めて、だけでなく、コントロールパネルの管理手動レジストのユーザーを作成する方法はありません。
現在、あなたが望むものを管理するための唯一の方法は、ルート/ web.phpから
Auth::routes();
を削除し、それぞれの経路を一つずつ追加することです。
あなたはここに追加されますAuth::routes()
すべてのルートがあります。auth
方法で
vendor/laravel/framework/src/Illuminate/Routing/Router.php
を。
route/web.phpにすべて貼り付けて、不要なものを削除してください(GET/POSTリクエストon/register)。
ユーザーを管理パネルに登録する方法としては、いくつかの方法があります。ここには1つがあります:
私はis_admin
と呼ぶユーザモデルのブールを持っています。
isAdminMiddleware
ミドルウェアを作成して、ユーザーがis_admin
プロパティを持っているかどうかを確認します。彼がそれを持っていれば、さらに進むことができます、そうでなければ前のページに戻るか、または403を返します。
たとえば、UsersControllerでは、新しいユーザーを作成するためのフォームを含むビューを返すGETメソッドを作成します。
同じコントローラで、新しいユーザーをデータベースに追加して適切な検証を行うPOSTメソッドを作成します。
両方の経路をisAdminMiddleware
で保護して、ユーザーがそのページにアクセスできないようにすることを忘れないでください。
は、単にRegistersUsersトレイトからメソッドをオーバーライド:
ありがとう、あなたの説明はとても良いです、私はそれのほとんどを理解することができます。しかし、もう1つの質問があります。「だから、私は新しいコントローラを作成し、登録ユーザーのために必要なのですか?」ありがとう。 – vl14b
それはあなたのコントローラを構造化する方法に依存しますが、それは方法であり、うまくいきますが、(私を含む)一部の人は、シングルアクションコントローラを好みます(基本的に、私はそれがもっと個人的な選択だと思う –
php artisan make:auth
を実行してLaravelの認証機能をスキャフォールドすると、多くのことが起こります。 routes/web.php
で
、あなたはこのような/login
や/register
アクセスできないなどのルートを行います
Auth::routes();
この行を削除する必要があります。
また、あなたは最後に、あなたは再使用するユーザーの特性を登録するには、あなたの安全な管理パネルから独自のコードを記述する必要がありますresources/views/auth
に必要はありませんビューをクリーンアップすることができますLaravelは既に提供しています。
あなたが本当に認証::ルート()足場を保つが、管理者の「コントロールパネル」の外部からの登録を無効にしたい場合は、これはそれを行うための最も簡単な方法です。あなたのアプリ/ Http/Controllers/Auth/RegisterController.phpクラスにあります。同様に、
public function __construct() {
$this->middleware('auth');
}
またはいくつかのカスタムミドルウェアへの
public function __construct() {
$this->middleware('guest');
}
:
public function showRegistrationForm() {
abort(403, 'Unauthorized action.');
}
public function register() {
abort(403, 'Unauthorized action.');
}
第二に、単純なオプションは、あなたのRegisterController.phpのミドルウェア__construct()メソッドを変更することです
public function __construct() {
$this->middleware('admin');
}
[Larav el 5.4 Disable Register Route](https://stackoverflow.com/questions/42695917/laravel-5-4-disable-register-route) – dparoli
@dparoliいいえ、手動で登録する方法を尋ねています。デフォルトの登録ルートを無効にするだけではなく。 – vl14b