私はLaravel Authentication(クイックスタート)を使用しました。しかし、ユーザーのステータス(承認済み/保留中)を確認する必要があります。承認されていない場合は、ログインページにエラーが表示されます。どのファイルを変更する必要があるのか、その変更は何かを知る必要があります。現在、私はLaravel 5.3に取り組んでいます。laravel 5.3でログイン中にユーザーステータスを確認するにはどうすればよいですか?
3
A
答えて
6
あなたはLaravel Middlewareを作成することができます追加の情報のためのリンクを確認してください
php artisan make:middleware CheckStatus
<?php
namespace App\Http\Middleware;
use Closure;
use Illuminate\Support\Facades\Auth;
class CheckStatus
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
$response = $next($request);
//If the status is not approved redirect to login
if(Auth::check() && Auth::user()->status_field != 'approved'){
Auth::logout();
return redirect('/login')->with('erro_login', 'Your error text');
}
return $response;
}
}
は、あなたのKernel.phpに
'checkstatus' => \App\Http\Middleware\CheckStatus::class,
をあなたのミドルウェアを追加し、最終的に私は願っています
Route::post('/login', [
'uses' => 'Auth\[email protected]',
'middleware' => 'checkstatus',
]);
あなたのルートにミドルウェアを追加取得するには、あなたのミドルウェアを変更助けてください
0
まず
public function authenticate()
{
if (Auth::attempt(['email' => $email, 'password' => $password, 'is_approved'=>1])) {
// Authentication passed...
return redirect()->intended('dashboard');
}
}
・ホープ、このファイルのApp/HTTP /コントローラ/認証/ LoginControllerで(is_approved仮定)ユーザーテーブルに
を列を追加...手順に従ってください助けてくれるでしょう
1
上部の答えは、これはあなたのアプリケーションのパフォーマンスが非常に低いにつながる状況
+0
@ saadこのコードを追加するファイル –
0
私は、上の答えに同意しないが、チェックします私に
if (Auth::attempt(['email'=>$input['email'],'password'=>$input['password'], 'user_status'=>1 ]))
を保存し、また、Laravelのソースコードを変更することも推奨していません。
ですから、あなたのアプリにgetCredentials機能を書き換えることができます\のHttp \コントローラが認証\ AuthController.phpは、このようなファイル:\
<?php //app\Http\Controllers\Auth\AuthController.php namespace App\Http\Controllers\Auth; use App\Http\Controllers\Controller; use Illuminate\Foundation\Auth\ThrottlesLogins; use Illuminate\Foundation\Auth\AuthenticatesAndRegistersUsers; use Illuminate\Http\Request; class AuthController extends Controller { use AuthenticatesAndRegistersUsers, ThrottlesLogins; //you need add this function protected function getCredentials(Request $request) { $data = $request->only($this->loginUsername(), 'password'); $data['is_approved'] = 1; return $data; } }
は、あなたが直接Laravel認証(クイックスタート)を使用することができます。
希望すると、これが役立ちます。
関連する問題
- 1. Laravel 5.3でデバッグモードを確認するにはどうすればいいですか
- 2. アプリのユーザーステータスを確認するにはどうすればよいですか? In App Billing
- 3. Laravel 5.3でログインとログアウト後にリダイレクトパスを変更するにはどうすればよいですか?
- 4. laravel 5.2のログイン時に電子メールを確認するにはどうすればいいですか?
- 5. Seleniumスクリプトがログインできたかどうかを確認するにはどうすればよいですか?
- 6. ログイン時に現在のユーザーステータスとプレゼンスを取得するにはどうすればよいですか? SMACK XMPP
- 7. laravelでの認証ユーザーの役割を確認するにはどうすればよいですか?
- 8. Laravel 5.3のモジュール構造でユーザーを認証するにはどうすればいいですか
- 9. laravel mongodbでJSON Where句を使用するにはどうすればよいですか? (Laravel 5.3)
- 10. ルート「URL」が存在するかどうかを確認するにはどうすればよいですか?
- 11. Facebookでの最初のログインを迅速に確認するにはどうすればよいですか?
- 12. Laravel 5.3結果が存在するかどうか確認
- 13. ユーザーがWindowsにログインした時間を確認するにはどうすればよいですか?
- 14. JavaScriptでファイルサイズを確認するにはどうすればよいですか?
- 15. IIS7でリクエストタイプを確認するにはどうすればよいですか?
- 16. mailgunでオープンシフトドメインを確認するにはどうすればよいですか?
- 17. kivyでキーボードイベントを確認するにはどうすればよいですか?
- 18. アクセシビリティインスペクタでヒントを確認するにはどうすればよいですか?
- 19. WPFでカーソルサイズを確認するにはどうすればよいですか?
- 20. Java EEフォーム認証 - 開発中にログインをバイパスするにはどうすればよいですか?
- 21. メールアドレスが存在するかどうかを確認するにはどうすればよいですか?
- 22. Laravel 5.2検証で特定のエラーを確認するにはどうすればよいですか?
- 23. ブロードキャストでlaravel通知を解決するにはどうすればいいですか? Laravel 5.3
- 24. Request $ requestでURLからIDを取得するにはどうすればよいですか?ビュー上(Laravel 5.3)
- 25. recvfrom()のメッセージサイズを確認するにはどうすればよいですか?
- 26. アプリのフレームレートを確認するにはどうすればよいですか?
- 27. 確認メールを作成するにはどうすればよいですか?
- 28. Drupalログファイルを確認するにはどうすればよいですか?
- 29. LinkedInアクセストークンを確認するにはどうすればよいですか?
- 30. 重複数を確認するにはどうすればよいですか?
web.phpにそのようなルートがないため、私のルートにミドルウェアを追加するにはどうすればいいですか? – Zaman
@Efazあなたの 'Auth :: routes();'をオーバーライドするには、[this](https://laracasts.com/discuss/channels/general-discussion/how-to-name-laravel-52-auth-routes)をチェックしてください。 –
これは5.3で動作しません。* please –