問題タブ [laravel-authorization]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
laravel - Laravel 5.3 Passport の移行とデフォルトのユーザー テーブルの変更
私はlaravel 5.2.45から5.3.15にアップグレードしたばかりで、他の多くの人と同様に、パスポートとコマンドに付属するデフォルトのテーブルを実装する方法についていくつか質問があります。
状況 1:
2 つの別個のデータベース接続を持つように構成をセットアップしました。1 つは「core」(デフォルト接続) という名前で、もう 1 つは「auth」という名前です。
質問1:
すべての手順を適切に実行して移行すると、すべてのテーブルが 1 つのデータベースに取り込まれます。パスポートの移行を認証データベースに他のすべてのものから切り離したいと思います。どうすればこれを達成できますか?
状況 2:
(すべての構成ファイルが正しく設定されていると仮定します)
ユーザーテーブルをacct_userに変更し、すべてが完全に機能するように、以前のバージョンのlaravel(5.2)でこれを行うことができました。現在、同じ必要な変更を加えてユーザーを登録しようとすると、ユーザーはデータベースに保存されません。
Illuminate\Foundation\Auth\RegistersUsersにあるコードを取り出し、App\Http\Controllers\Authにある RegisterController クラス内の特性のメソッドをオーバーライドしました。
コード:
上記のコードは、私が収集したものから、登録要求の処理とデータベースでのユーザーの作成を直接担当しています。ただし、イベントヘルパー内でハングアップし続け、リダイレクトし続け、ユーザーを作成しません。クラス全体でリターンリダイレクトもコメントアウトしようとしましたが、どうやらリダイレクトはイベントヘルパー自体の中で発生します。このため、私は Postman を使用してリクエストを行っています。
質問2:
ここで何か間違ったことをしていますか?リダイレクトを止めて、代わりに単にユーザーオブジェクトを返すようにするにはどうすればよいですか?
状況 3:
(自己消費アプリケーションをシミュレートしようとしています)
パスポートを使用してPostmanを介してログインまたは登録リクエストを行うと、JWTが埋め込まれたlaravel_token Cookieが返されることを期待しています。
質問 3:
Postman を介して、どうすればこれを返品できますか?? または、現在どこにも見つからないので、どこを見ますか。多分私はここでも何か間違ったことをしています。
どんな援助も大歓迎です。
laravel - ユーザーがlaravel 5.2でログイン後の呼び出しを行えるようにする
/login
ユーザーがすでにログインしている場合、ユーザーのアクセスが制限されているlaravel 5.2アプリがあります。これで、「他のアプリからアプリにログインする(laravelではない)」機能が実装されました。現在の問題は、アプリをリクエストしてログインを取得するために ajax 呼び出しを行うときに、リクエストの前にユーザーがログインしていない場合、laravel 5.2 が完全なレスポンスを返すことです。しかし、ログイン後、再度ログインのために app request を要求すると、laravel app は応答でホームページのビューを返します。ログイン要求を処理する前に、カスタマイズしてユーザーをログアウトさせたい。私はインターネットとデバッグに多くの時間を費やしました。しかし、ログインページの制限を求めている人はどこにでもいます。しかし、私の要件は、post メソッドでリクエストを許可し、レスポンスをカスタマイズすることです/login
. 誰かが答えを知っていれば、それはありがたいです。
アプリをリクエストするコードは次のとおりです
laravel - Laravel AuthのLogSuccessfulLoginハンドルでリダイレクトが機能しない
ユーザーコントローラーに使用していますLaravel 5.3
。Auth
だから基本的に私はListener
for Auth
Eventを作成します
LogSuccessfulLogin
handle()
の基本でユーザーをリダイレクトする機能でrole
。しかし、リダイレクト機能が機能していません。デフォルトのページ '\home' ルートをレンダリングします。
私はマイファイルを共有しています:-
EventServiceProvider.php
ルート/web.php
ここに LogSuccessfulLogin.php があります
これは Auth のデフォルトの logincontroller です
私が何か間違ったことをしている場合はお知らせください。LogSuccessfulLogin
実際、ページをリダイレクトするためにリスナーでも試しましreturn redirect()->route('login');
たが、機能しません。
laravel - Laravel 5.3のベーシック認証に登録後、関数を実行する
デフォルトでは、Laravel 5.3 では登録後にユーザーが自動的にログインします。ユーザーが自動的にログインした後にユーザー ID を取得し、リダイレクトせずに関数を実行するための提案が必要です。どうすればよいですか?
php - Laravel 5.3 は 1 つの URL に 2 つのコントローラー ミドルウェアをルーティングします
許可されたユーザー (ミドルウェア認証) とゲスト (ミドルウェア ゲスト) に同じ URI で異なるコントローラーを使用しようとしていますが、laravel 5.3 で動作させることができません。
同じ URI で異なるミドルウェアで 2 つのルートを作成しようとしましたが、同じ URI で 2 つのルートを作成することはできません。
私は多くのことを試しましたが、laravel 5.3ではAuth::check()
routesファイルで使用できず、常にfalseを返します:
また、ルートで関数を使用しようとしました:
現在Auth::check()
はほとんど動作しますが、コントローラー__construct
関数のミドルウェアは無視されます。そして、これはあまり見栄えがよくありません。
ログインからこのルートにリダイレクトすると、Auth::check()
false が返されるという問題もあります。しかし、ページを更新すると、true が返されます。
1 つのコントローラーを使用して、そのコントローラーでユーザーとゲストの両方を処理したくありません。これは、ユーザー コントローラーがゲスト コントローラーとは別のクラスを拡張するためです。
ゲスト用のコントローラーと許可されたユーザー用の異なるコントローラーを使用して1つのルートを作成する方法を誰かが知っていますか?
laravel - Laravel Auth::attempt() は関係を処理できますか?
私は、Laravel 5.3 で役割ベースのアクセス許可を管理するためにentrustを使用しており、当然のことながら、さまざまなユーザー タイプに対して手動/カスタム ログインを使用しています。Auth::attempt()
外部テーブルの関係を処理することは可能ですか? 基本的に、私はこのようなことをしたい:
hasRole()
しかし、未定義の関数であるというエラーが発生し続けます。use Zizaco\Entrust\Traits\EntrustUserTrait;
とを含めましuse EntrustUserTrait;
た。これにより、関数へのアクセスが提供されると思いましたが、明らかにそうではありません。
これがユーザー オブジェクトのメソッドであることに感謝しhasRole()
ます。チェックの時点ではユーザー オブジェクトはありませんが、ユーザーが既にログインしているため、試行が成功した後にロール チェックを実行できません。役割が間違っていた場合、資格情報は正しいのでログアウトする必要がありますが、役割ではありません。これは遅く、実用的ではないようです。
これをどのように処理すればよいですか?Auth::attempt
ユーザーにログインせずに、指定された入力でユーザーが存在することを確認し、ロールチェックを実行してから、別の機能を使用して認証セッションを開始する代替手段はありますか?
役立つ場合、私の LoginController は次のとおりです。
どんな助けや指示も大歓迎です。ありがとう。
php - Laravel 5.3 パスワード ブローカーのカスタマイズ
laravel のパスワード ブローカー内で使用される関数をオーバーライドする方法を知っている人はいますか? 私はドキュメントを知っています:
https://laravel.com/docs/5.3/passwords#resetting-views
ビューやいくつかの表面レベルのものについて何をすべきかについての情報を提供しますが、実際にはまったく明確ではないか、十分に読んでいない可能性があります。
特性をオーバーライドする方法は既に知ってResetsPasswords.php
いますが、の機能をオーバーライドするのPassword::broker()
は次のレイヤーです。
さらに情報が必要な場合は、親切に提供できます。
前もって感謝します。
php - "ビュー [auth.emails.password] が見つかりません。",
laravel-api-boilerplate-jwt でrecoveryメソッドをテストしようとしていますが、郵便配達員を使用して電子メールを入力して投稿するとhttp://localhost:8000/api/auth/recovery
、戻ります
誰かが理由を知っていますか?これはモバイル アプリ用の API であるため、ビューは必要ないと思います。または、それを機能させるために構成する必要があるのは 3 つですか?
フレームワークへのリンク: